2011-09-21 52 views
0

在dom4j網站中,它說「SAXReader從SAX解析事件創建一個DOM4J樹」。這是什麼意思? SAXReader是一個DOM解析器,它創建完整XML文件的樹,還是像SAX解析器一樣按順序處理XML文檔?SaxReader使用哪種XML解析器API? SAX或DOM?

問題2:我可以在SAXReader中使用XPath查詢。 XPath是否與SAX或DOM解析器兼容?

回答

2

dom4j的重點在於它是DOM的替代樹模型。解析整個DOM只將其轉換爲dom4j沒有任何意義。無論如何,this page清楚地表明SAX解析器用於生成dom4j。

回覆:您的XPath問題。一般來說,你需要一個樹型模型來運行XPath。這意味着像DOM,dom4j,jdom或xom。這些都是各種不同的「xml文檔對象模型」。 SAX完全不同 - 它只是一個沒有對象模型的事件流。因此,正確的思維模型是:使用SAX解析器生成對象模型,然後針對該對象模型運行XPath。當然,你還可以做其他事情,但這是三種技術可以合在一起的一種自然方式。