Java解析XML文档

来源:互联网 发布:最流行编程语言 编辑:程序博客网 时间:2024/05/21 09:41

用Java解析XML文档,XML在不同的语言里解析方式都是一样的,只不过实现的语法不同而已。最常用的有两中方法:使用基事件的XML简单API(Simple API for XML)称为SAX和基于树与节点的文档对象模型(Document Object Module)称为DOM。SAX是基于事件流的解析,DOM是基于XML文档树结构的解析。Sun公司提供了Java API for XML Parsing (JAXP)来同时支持SAX和DOM,通过JAXP,我们可以使用任何与JAXP兼容的XML解析器。

1.DOM生成和解析XML文档

DOM是W3C的推荐标准。DOM文档对象模型是一个使程序和脚本有能力动态地访问和更新文档的内容、结构,以及样式的平台和语言中立的接口。

W3C DOM被分为三种不同的部分/级别:(1)核心DOM;用于任何结构化文档的标准模型;(2)XML DOM:用于XML文档的标准模型;(3)HTML DOM:用于HTML文档的标准模型。

DOM定义了所有文档元素的对象和属性,以及访问他们的方法(接口)。解析器读入整个文档,接着构建一个驻留内存的树结构,然后代码就可以使用DOM接口来操作操作这个树结构。优点是整个文档树在内存中,便于操作;支持删除、修改、重新排列等多种功能;缺点是将整个文档调入内存(包括无用的节点),浪费时间和空间,所以DOM的使用场合一般是一旦解析了文档还需要多次访问这些数据,其次还要硬件资源充足(内存、CPU)。

2.SAX生成和解析XML文档

为了解决DOM在解析XML中的性能问题,出现了SAX,基于事件驱动,当解析器发现元素开始、元素结束、文本、文档的开始或者结束等,发送事件,开发人员编写的相应事件的代码,保存数据。

0 0
原创粉丝点击