<parents>
<parent>
<item>
<name>200</name>
</item>
<item>
<name>201</name>
</item>
<item>
<name>204</name>
</item>
</parent>
<parent>
<item>
<name>203</name>
</item>
</parent>
</parents>
我需要第一個parent
節點,因爲我有一個與項目對應的ID列表。試想一下:如何根據多個子節點值獲取父節點?
list = ['200', '201'];
因爲200
在第一parent
節點被發現,我想要那個parent
節點。如果200
不存在,我仍然會得到父節點,因爲201
是位於第一個parent
中的/name/text()
的值。
我的唯一要求是我需要抓住parent
節點,如果發現我的list
中的ID爲one
。
目前我只測試爲先,就像這樣:
//name/child::text()[.="' . $firstKey . '"]/../../../../
凡$firstKey
是在列表中,200
的第一個元素的引用。這並不理想,因爲它不檢查所有值,但只檢查第一個值。
好問題,+1。查看我對兩種解決方案的回答 - 一個XPath 1.0 + XSLT解決方案和一個XPath 2.0解決方案 –