2014-02-28 109 views
0

我在尋找一個XPath選擇器,它將獲取具有指定屬性值的元素以及具有指定屬性值的後代。下面是一個例子:具有指定屬性值且具有指定屬性值的後代的XPath選擇器

<book type="nonfiction"> 
    <title>foo</title> 
    <author> 
     <name>John Doe</name> 
     <dob>1/1/1900</dob> 
    </author> 
</book> 
<book type="fiction"> 
    <title>bar</title> 
    <author> 
     <name>Jane Doe</name> 
     <dob>2/2/2000</dob> 
    </author> 
</book> 

因此,在這個例子中,我想獲得所有非小說類的type<book>元素誰擁有的1/1/1900一個dob<author>。我不知道<author>節點的深度有多少,所以我需要一個可以檢查所有後代的解決方案。

回答

1

你可以試試這個方法:

//book[@type='nonfiction' and .//author[dob='1/1/1900']] 
0

您可以使用下面以獲得所需的輸出:

//book[@type = "nonfiction"][.//author[dob = "1/1/1900"]] 
相關問題