本实例的功能是,在Android系统中使用DOM技术来解析并生成XML。
本实例的具体实现流程如下。
(1)编写布局文件main.xml,具体实现代码如下。
(2)编写解析功能的核心文件DOMPersonService.java,具体实现流程如下。
□创建DocumentBuilderFactory对象factory,并调用newInstance()创建新实例。
□创建DocumentBuilder对象builder,DocumentBuilder将实现具体的解析工作以创建Document对象。
□解析目标XML文件以创建Document对象。
文件DOMPersonService.java的具体实现代码如下。
(3)编写单元测试文件PersonServiceTest.java,具体代码如下。
(4)开始具体测试,在Eclipse中导入本实例项目,在Outline面板中右键单击testDOMgetPersons():void,如图6-9所示。在弹出命令中依次选择Run As→Android JUnit Test命令,如图6-10所示。(www.xing528.com)
此时将在Logcat中显示测试的解析结果,如图6-11所示。
注意:SAX和DOM的对比
DOM解析器,是通过将XML文档解析成树形模型并将其放入内存来完成解析工作的,然后对文档的操作都是在这个树形模型上完成的。这个在内存中的文档树将是文档实际大小的几倍。这样做的好处是结构清晰、操作方便,而带来的麻烦就是极其耗费系统资源。
SAX解析器,正好克服了DOM的缺点,分析能够立即开始,而不是等待所有的数据被处理。而且,由于应用程序只是在读取数据时检查数据,因此不需要将数据存储在内存中,这对于大型文档来说是个巨大的优点。事实上,应用程序甚至不必解析整个文档,它可以在某个条件得到满足时停止解析。
图6-9 右键单击testDOMgetPersons()
图6-10 选择Android JUnit Test子菜单
图6-11 解析结果
表6-1列出了SAX和DOM在一些方面的对比。
表6-1 SAX和DOM的对比
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。