在dom4j网站上,它说“SAXReader从SAX解析事件创建一个DOM4J树。”。这是什么意思? SAXReader是一个DOM解析器,它可以创建完整XML文件的树,还是像SAX解析器一样顺序处理XML文档?
问题2:我可以在SAXReader中使用XPath查询。 XPath是否与SAX或DOM解析器兼容?
答案 0 :(得分:2)
dom4j的重点在于它是DOM的替代树模型。解析整个DOM只是为了将它转换为dom4j是没有任何意义的。无论如何this page清楚地表明SAX解析器用于生成dom4j。
Re:你的XPath问题。一般来说,你需要一个树模型来运行XPath。这意味着像DOM,dom4j,jdom或xom。这些都是各种不同的“xml文档对象模型”。 SAX完全不同 - 它只是一个没有对象模型的事件流。因此,正确的心理模型是:使用SAX解析器生成对象模型,然后针对该对象模型运行XPath。当然,你还可以做其他事情,但这是这三种技术可以融合在一起的一种自然方式。