我很好奇DOM和XPath这两个技术各有何优缺点。XPath相比DOM提供了什么,DOM相比XPath又有哪些优势?我不是在寻找性能等方面的比较,只是想知道在导航方面这两者之间的主要区别是什么?例如,在什么情况下使用DOM比XPath更好?
谢谢。
我很好奇DOM和XPath这两个技术各有何优缺点。XPath相比DOM提供了什么,DOM相比XPath又有哪些优势?我不是在寻找性能等方面的比较,只是想知道在导航方面这两者之间的主要区别是什么?例如,在什么情况下使用DOM比XPath更好?
谢谢。
它们是互补而不是竞争关系。DOM提供了XML的树形模型,具有低级导航功能(获取第一个子节点、获取下一个兄弟节点等);XPath添加了更高级别的搜索和导航功能(例如,获取所有书籍的平均价格、获取最后一章的标题)。
还要注意,DOM只是XML的一种树形模型,并且远非最好的模型:它是第一个也是最差的,很遗憾仍有很多人在使用它。在Java世界中,存在着更好的设计,例如JDOM和XOM。