|
|
1
32
SAX是一个自顶向下的解析器,允许对XML文档进行串行访问,并且对于只读访问效果良好。另一方面,DOM更健壮——它将整个XML文档读入一棵树中,当您想要更改、添加或删除该XML树中的数据时,它非常高效。当您只需要XML文档中的几个值,并且知道在哪里可以找到它们(您知道数据的路径,/root/item/challange/text)时,XPath非常有用。 SAX:在迭代文档时非常节省时间,每次迭代只需一次 DOM:灵活/高性能,为您提供更多处理数据的方法 XPath:当您只需要读取几个值时,时间效率很高 |
|
|
2
10
streaming XPath ,很可能您的XPath引擎正在将所有内容加载到内存中,因此它将具有与DOM类似的特性。因此,这取决于你对“效率”的定义。它当然更易于使用,XPath实现可能会变得更高效,而DOM在客户机上总是会有整个文档的一些表示,SAX编程总是比XPath难很多。 |
|
|
3
1
This document from MSDN 提供了大量有关优化XML处理的信息 尤其是,XPathDocument类被设计为比使用(基于DOM的)XmlDocument类更高效地计算XPath表达式。原因是XPathDocument是XML文档的只读表示,而DOM实现还包括更改文档。 使用DOM有一个同样重要的缺点,那就是它通常会导致复杂的、像意大利面条一样的代码,难以理解和维护。 |
|
|
4
1
看见 http://code.google.com/p/jlibs/wiki/XMLDog
|
|
|
5
0
如果只需要查找特定文本节点的值,则使用XPath。DOM占用大量内存的原因是它读取整个XML并形成文档的树。SAX是基于事件的。因此,根据您所描述的,XPath最适合您的场景。 |
|
|
Y-jiji · 调整大小时替换了假选择 1 年前 |
|
|
Eric G · 如何将svg文本元素垂直居中? 1 年前 |
|
|
Juan Lanus · 如何获取对所选内容的DOM元素的引用 1 年前 |
|
Toby Hogan · 元素React状态更改后未在DOM中更新 1 年前 |