[文档整理系列] Java SE之XML<二>XML DOM与SAX解析
XML编程:CRUD(Create Read Update Delete)
XML解析的两种常见方式:
DOM(Document Object Model):
特点:树状解析
优点:【更适合对XML文档的(crud)操作。】对XML文档增删改查操作很方便灵活
缺点:内存消耗很大,不适合数据量很大,节点很多的XML文档。
SAX(Simple API for XML):
特点:自上往下顺序解析
优点:【占用内存小,解析速度快,只适合对数据的读取。】
缺点:【不适合对XML文档的crud操作。】对XML文档增删查改极为不便。
常用解析开发包:JAXP(sun),Jdom,dom4j
======================================================================
由于上两种XML文档的解析方式对内存的需求差异:
需要---- 调整JVM内存
=============================================
DOM解析编程
遍历所有节点
查找某一节点
删除节点
更新节点
添加节点
==============================================
更新XML文档
javax.xml.transform包中的Transformer类用于把代表XML文件的Document对象转换成某种格式后进行输出,例如把xml文档应用样式表表后转成一个HTML文档。利用这个对象,当然也可以把Document对象又更新写入到一个XML文件中。
Transformer类通过transform方法完成转换操作,该方法接收一个源和一个目的地。我们可以通过:
1.javax.xml.transform.dom.DOMSource类来关联要转换的Document对象
2.用javax.xml.transform.stream.StreamResult对象来表示数据的目的地
Transformer对象通过TransformerFactory获得
Document(node)--->DomSource(Source)--->StreamResult(Result)--->OutStream
transform (DomSource,FileStream)
DomSource Transform
TransformFactory