2016-03-04 257 views
1

我想要查找具有與其他某個項目相同的值的屬性的所有節點。我有應該用來執行查找的項目和應該比較的屬性。這可能嗎?Xpath獲取具有與其他節點匹配的屬性的所有節點

<base src="www.placeholder.com"></base> 
<parent src="www.test.com"> 
    <child name="child1" src="www.test.com"></child> 
    <child name="child2" src="www.placeholder.com"></child> 
    <child name="child3" src="www.test.com"></child> 
</parent> 

我想寫一個XPath查詢獲取具有相同源爲基礎節點(的child2)的所有節點,但我不能硬編碼www.placeholder.com到我的XPath查詢。

+1

您能否提供一段樣例HTML或XML? – gtlambert

+0

是的,這是可能的(假設我正確理解了描述)。 – har07

+0

這個問題需要更多的上下文,即樣本XML和相應的預期輸出元素,以便能夠發佈真實答案的人 – har07

回答

3

假設整個XML片斷被包裹在一個根元素,說<root>例如,(否則就不是良好的XML),然後可以使用下面的XPath表達式:

//*[@src = /root/base/@src] 

其結果是所有的元素,其中src屬性等於base元素的src,包括base元素本身:

<base src="www.placeholder.com"/> 

<child name="child2" src="www.placeholder.com"/> 

現場演示的例子可以運行here

+0

甜。我可以發誓我試着用這個,但我會再試一次,並將其標記爲答案,如果它解決了。 – Teeknow

+0

它會工作,除非你沒有顯示足夠的代表性上下文。 – kjhughes

相關問題