2010-02-23 59 views
12

X爲後代考慮下面的例子:如何選擇節點具有使用XPath

<root> 
    <instruments> 
     <flute> 
     <baz>bazik</baz> 
     </flute> 
     <guitar> 
     <deep> 
      <baz>more bazik</baz> 
     </deep> 
     </guitar> 
     <drum> 
     <foo>fooled</foo> 
     </drum> 
    </instruments> 
</root> 

我想選擇fluteguitar,因爲它們都含有baz作爲後繼節點。我怎樣才能做到這一點?

回答

16

的關鍵是使用謂詞[descendant::baz]

所以表達式可以是

/root/instruments/*[descendant::baz] 
+6

或者,簡稱:'/根/儀器/*[.//巴茲]' – Tomalak 2010-02-24 10:13:32

+0

我將如何提取' bazik 更bazik 上當 ' – 2015-01-07 11:12:33

+0

@Arthur愛立許--IF你張貼問題我將與代碼做迴應 – 2016-04-03 20:13:20