我正在寻找一个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>
因此,在此示例中,我希望获得所有<book>
个元素,其中type
个非小说的<author>
dob
为1/1 / 1900。我不知道<author>
节点有多少级别,所以我需要一个可以检查所有后代的解决方案。
答案 0 :(得分:1)
您可以尝试这种方式:
//book[@type='nonfiction' and .//author[dob='1/1/1900']]
答案 1 :(得分:0)
您可以使用以下内容获得所需的输出:
//book[@type = "nonfiction"][.//author[dob = "1/1/1900"]]