XML的解析

来源:互联网 发布:编程从入门到精通 编辑:程序博客网 时间:2024/06/05 01:16
XML是双向的树形结构,每个元素都能够按照父节点查找子节点;也可以找到该节点的父节点。将XML文档转换到Java对象的过程称为“解析XML”。使用Java API进行XML解析是很常见的工作场景,它的难点在于API拥有太多的类名和太长的方法名要记。

Java提供的两种解析方式:
1)文档对象模型(DOM)解析器
2)简单的XML API方式(Simple API For XML SAX),即SAX,使用流的机制解析。以及后来的STAX其实是由SAX拓展来的。
它们的API是在org.w3c.xxx包下面,注意不是放在java.xxx包下或者sun.xxx包下,因为XML的规范不是SUN公司发明的,SUN公司提供的API就遵循w3c组织的标准进行提供实现方式,所以对应的API是放在org.w3c.xxx包下。流机制的读取,并不进行节点信息的存储,这样你需要自己存储,使用起来思路也很清晰,不需要像Document那样的去一层一层的进行往里面循环读取。这里就是在相应的回调方法处,写上自己要处理的代码即可。DOM方式和SAX的方式没有谁优谁劣,只是为了不同场景而生各自都有自己的优势。

SAX适于处理下面的问题:

1)适合较大的XML文件的处理;

2)只需要XML文件中的部分或者特定信息;

3)想建立自己的对象模型的时候,如BookInfoService


DOM适于处理下面的问题:

1)需要对XML文件进行修改;

2)需要随机读取XML文件的内容



原创粉丝点击