XPath для выбора элемента на основе дочернего значения childs

160

Попытка выбрать элемент, основанный на значении одного из его дочерних детей

Думая следующее, но не работая, оцените любую помощь, спасибо

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

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

Хотите все книги, где имя автора = '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>
Теги:
xpath

1 ответ

240
Лучший ответ

Почти там. В вашем предикате вам нужен относительный путь, поэтому измените

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

либо

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

или

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

и вы будете соответствовать вашему элементу. Ваш текущий предикат возвращается к корню документа для поиска author.

  • 0
    Отлично. Используется ./book[author/name = 'John'] спасибо
  • 0
    Без . не работает для меня (необходимо ./author/name )
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню