DOM和SAX解析技術的實現java
實現DOM和SAX即系技術的方法有多種,下面列出了經常使用的幾種方法編程
- JAXP(Java API for XML:JAXP是對應用程序隱藏了特定解析器的接口,它提供了訪問DOM和SAX實現的抽象層機制
- JDOM:JDOM是一種使用XML的獨特Java工具包,用於快速開發XML應用程序,它基於樹型結構,利用純Java的技術對XML文旦實現解析、生成、序列化以及多種操做。JDOM直接爲Java編程服務。它利用更爲請有力的Java語言的諸多特性(方法重載、集合概念以及櫻色),鼥SAX和DOM的功能有效地結合起來,同時JDOM也是用Java語言讀、寫、操做XML的新API函數,在簡單和高效的前提下,這些API函數被最大限度的優化,以彌補DOM及SAX在實際應用當中的不足之處,在JDOM中,XML元素就是Element的實例,XML屬性就是Attribute的實例,XML文檔自己就是Element的實例,所以建立一個新的JDOM對象就像在java中使用new操做符同樣容易
- DOM4J:DOM4j是一個易用的,開源的庫,用於XML、XPath和XSLT。它應用於java平臺,採用了java集合框架並徹底支持DOM、SAX和JAXP。在Java開發社區裏,DOM4J的使用最爲普遍。JDOM的操做很是簡單,可是在處理大XML文件時性能表現不佳,解析10M文檔時就會出現內存溢出。而DOM4j是一個很是優秀的JavaXML API DOM4J使用大量的接口,這也是它被認爲比JDOM靈活的緣由
DOM4j的主要接口框架
Attribute定義了XML的屬性dom
CDATA定義了XML CDATA區域函數
CharacterData標識基於字符的節點。如CDATA,Comment,Text工具
Comment定義了XML註釋的行爲性能
Document定義了XML文檔優化
DocumentType定義了XML DOCTYPE聲明spa
Element定義了XML元素對象
ElementHandler定義了Element對象的處理器
Node爲全部的dom4j中XML節點定義了多態行爲
ProcessingInstruction定義了XML處理器指令
Text定義XML文本節點
XPath在分析一個字符串後會提供一個XPath表達式