我有類似下面這樣的結構:的XPath:選擇節點,但沒有具體的子元素
<page id='1'>
<title>Page 1</title>
<page id='2'>
<title>Sub Page 1</title>
</page>
<page id='3'>
<title>Sub Page 2</title>
</page>
</page>
<page id='4'>
<title>Page 2</title>
</page>
我需要選擇ID的頁面,但如果該頁面有後代頁面我不想回這些元素,但我確實需要該頁面的其他元素。如果我選擇第1頁我想回到標題,但不是孩子的網頁...
//page[@id=1]
上面讓我第1頁,但我如何排除子頁面?另外,頁面中可以有任意數量的元素。
//page[@id=1]/*[not(self::page)]
我發現這讓我獲得了我想要的數據。但是,該數據作爲每個元素具有一個對象的對象數組返回,並且顯然排除了元素名稱???。我正在使用PHP SimpleXML來實現它的價值。
問得好,+1。看到我的答案是一個簡短而簡單的解決方案。 :) –
「但是,該數據作爲每個元素具有一個對象的對象數組返回。」這與你想要/需要的有什麼不同? – LarsH
根據xpath查詢,數據以不同的格式返回,我得到一個SimpleXMLElement數組,每個數組中都有一個字符串,並且缺少元素名稱。第一種情況返回一個包含所有預期鍵值對的SimpleXMLElement對象。我不明白爲什麼,也許我會提出另一個問題。 – Ben