如何使用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