2010-08-19 3 views
1

У меня есть XML, который выглядит примерно так:Как запросить узлы XML на основе значения атрибута родительского узла

<Library> 
<Author Name = "JRR Tolkien"> 
<Book Title = "Lord Of the Rings" /> 
<Book Title = "The Hobbit" /> 
</Author> 
<Author Name = "JK Rowling"> 
<Book Title = "Harry Potter and the Sorcerers Stone" /> 
<Book Title = "Harry Potter and the Prisoner of Azkaban" /> 
</Author> 
</Library> 

Что такое XPath, чтобы выбрать все узлы «книга», чьи родитель У узла «Автор» есть значение «JK Rowling»?

ответ

3

Это правильно более интуитивно понятный и строгий, который выбирает все книги, в которых есть Author, который является атрибутом Name: 'JK Rowling' как родитель. И Author также должен иметь Library в качестве родителя.

/Library/Author[@Name='JK Rowling']/Book 
+1

+1 для второго варианта. –

+1

Да, второй вариант намного яснее. Я собирался опубликовать что-то подобное, но вы отредактировали свой ответ раньше;) –

+1

Я полностью согласен с вами обоими. Поэтому я удалил первый, потому что это не принесло пользы. –

Смежные вопросы