DOM解析XML文档小结
要想解析XML文件,首先从硬盘中获得XML文件,映射成一颗节点树,也就是Document对象,放到内存中,通过操作Document对象来操作xml文件中的内容。
通过DocumentBuilderFactory来获取。DocumentBuilderFactory是抽象类,无法创建它的实例,通过查找发现
可以通过它的静态方法来获取一个DocumentBuilderFactory对象。最后通过DocumentBuilder的parse方法解析XML
文档,得到代表整个文档的Document对象,从而可以操作XML文档了。
需要注意的是,在操作Document对象时,只是在内存中的操作XML文档内容,如果修改了XML文档并且要将修改后的文档保存,需要将内存中Document重新写入硬盘的XML文档中。
javax.xml.transform包中的Transformer类用于把代表XML文件的Document对象转换为某种格式后进行输出。Transformer类通过transform方法完成转换操作,该方法接收一个源和一个目的地。我们可以通过:
•javax.xml.transform.dom.DOMSource类来关联要转换的document对象,
•用javax.xml.transform.stream.StreamResult 对象来表示数据的目的地。
Transformer对象通过TransformerFactory获得
DOM解析XML文档的优点:可以对文档进行增,删,改,查操作。
缺点:解析文档时需要加载整个XML文件到内存中,如果文件过大,容易造成内存溢出,并且效率较低。