2012-03-13 24 views
145

Cố gắng chọn một thành phần dựa trên giá trị của một trong đó là trẻ em childrensXPath để chọn một thành phần dựa trên giá trị con Childs

Suy nghĩ sau nhưng không làm việc, đánh giá cao sự giúp đỡ, nhờ

./book[/author/name = 'John'] hoặc

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

Muốn tất cả các sách mà tên tác giả = 'John'

tập tin Xml

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

Trả lời

219

Hầu như ở đó. Trong ngữ của bạn, bạn muốn có một tương đường , vì vậy thay đổi

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

hoặc là

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

hoặc

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

và bạn sẽ phù hợp với yếu tố của bạn. Vị từ hiện tại của bạn quay trở lại thư mục gốc của tài liệu để tìm kiếm author.

+0

Hoàn hảo. Đã sử dụng ./book[author/name = 'John'] cảm ơn –

Các vấn đề liên quan