如何使用XPath选择节点而不检索其所有子节点?例如,下面的XML文档中:XPath:选择一个节点,但不取回其子节点
<parentnode>
<node1 a="b" b="c">
<child1/>
<child2/>
... many many child nodes
<childN/>
</node1>
<node2/>
</parentnode>
我希望能够以选择“节点1”元素,以检查其属性,但没有选择的子节点,这我不需要解析并可能是成千上万的元素,从而影响查询的性能(其输出用于在第三方库中构建一种包含数组和字典的DOM树)。
更新:只是更清晰,我提到的第三方库实际上只是一个围绕的libxml2解析器建立与任何XPath查询的结果却让基础类的DOM树Objective-C的包装。查询本身是通过一个已经被解析过的文档(xmlDocPtr)来执行的,这个文档被所有的查询重用,所以是的,尽可能多的答案说,这个文档已经在C级DOM了,但是Objective-C包装实现产生了性能在这种特殊情况下击中。我可以修改这个库来选择性地不选取所选节点的子节点,但我认为可能有一个简单的方法来检索节点的查询属性。
谢谢,这正是我需要检索的属性。在性能问题来自何处的问题中,我进一步阐明了这一点。 – 2011-05-19 09:53:31