2012-03-13 121 views
145

尝试基于它的一个价值选择的元素的儿童儿童的XPath来根据孩子的孩子值选择元素

思考以下但不工作,得到任何帮助,感谢

./book[/author/name = 'John']

./book[/author/name text() = 'John'] 

希望所有的书籍,其中作者的名字= '约翰'

xml文档

<list> 
    <book> 
     <author> 
     <name>John</name> 
     <number>4324234</number> 
     </author> 
     <title>New Book</title> 
     <isbn>dsdaassda</isbn> 
    </book> 
    <book>...</book> 
    <book>...</book> 
</list> 

回答

219

几乎在那里。在你的谓语,你想有一个相对路径,所以更改

./book[/author/name = 'John'] 

要么

./book[author/name = 'John'] 

./book[./author/name = 'John'] 

,你会符合您的元素。您当前的谓词可追溯到文档的根目录以查找author

+0

完美。使用./book[author/name ='John']谢谢 – 2012-03-13 12:07:19