Подтвердить что ты не робот

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

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

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

./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>
4b9b3361

Ответ 1

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

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

либо

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

или

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

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