首页 理论教育 在Android系统中利用DOM解析XML数据的实战演练

在Android系统中利用DOM解析XML数据的实战演练

时间:2023-06-27 理论教育 版权反馈
【摘要】:本实例的功能是,在Android系统中使用DOM技术来解析并生成XML。□解析目标XML文件以创建Document对象。SAX解析器,正好克服了DOM的缺点,分析能够立即开始,而不是等待所有的数据被处理。图6-9 右键单击testDOMgetPersons()图6-10 选择Android JUnit Test子菜单图6-11 解析结果表6-1列出了SAX和DOM在一些方面的对比。表6-1 SAX和DOM的对比

在Android系统中利用DOM解析XML数据的实战演练

本实例的功能是,在Android系统中使用DOM技术来解析并生成XML。

978-7-111-52203-4-Part02-199.jpg

本实例的具体实现流程如下。

(1)编写布局文件main.xml,具体实现代码如下。

978-7-111-52203-4-Part02-200.jpg

(2)编写解析功能的核心文件DOMPersonService.java,具体实现流程如下。

□创建DocumentBuilderFactory对象factory,并调用newInstance()创建新实例。

□创建DocumentBuilder对象builder,DocumentBuilder将实现具体的解析工作以创建Document对象。

□解析目标XML文件以创建Document对象。

文件DOMPersonService.java的具体实现代码如下。

978-7-111-52203-4-Part02-201.jpg

978-7-111-52203-4-Part02-202.jpg

(3)编写单元测试文件PersonServiceTest.java,具体代码如下。

978-7-111-52203-4-Part02-203.jpg

(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的缺点,分析能够立即开始,而不是等待所有的数据被处理。而且,由于应用程序只是在读取数据时检查数据,因此不需要将数据存储在内存中,这对于大型文档来说是个巨大的优点。事实上,应用程序甚至不必解析整个文档,它可以在某个条件得到满足时停止解析。

978-7-111-52203-4-Part02-204.jpg

图6-9 右键单击testDOMgetPersons()

978-7-111-52203-4-Part02-205.jpg

图6-10 选择Android JUnit Test子菜单

978-7-111-52203-4-Part02-206.jpg

图6-11 解析结果

表6-1列出了SAX和DOM在一些方面的对比。

表6-1 SAX和DOM的对比

978-7-111-52203-4-Part02-207.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈