xpath-запрос для поиска элемента с условием, которое соответствует атрибуту и ​​значению дочернего узла - PullRequest
7 голосов
/ 20 апреля 2011

У меня есть 2 элемента с одинаковым атрибутом, но с разными значениями дочерних узлов.Могу ли я запросить, чтобы найти конкретный элемент, который соответствует атрибуту, а также значение дочернего узла.В частности, это пример xml, который я использую для запроса (каждый элемент в оригинальном xml имеет более 10 узлов childe).

 <Book size="2">
  <Title>abc</Title>
  <Price>10</Price>
 </Book>
 <Book size="2">
  <Title>xyz</Title>
  <Price>20</Price>
 </Book>
 <Book size="4">
  <Title>Harry</Title>
  <Price>10</Price>
 </Book>

Итак, теперь я хочу найти элемент Book, имеющий@size = "2" и Title = xyz.

Возможно ли это с помощью метода SelectSingleNode?Если нет, как запросить это?

Спасибо

Ответы [ 2 ]

15 голосов
/ 20 апреля 2011

Это:

//Book[@size='2'][Title='xyz']

Или это:

//Book[@size='2' and Title='xyz']

Обратите внимание, что использование // не рекомендуется, если ваша схема известна.

1 голос
/ 20 апреля 2011

Это работает?

//Book[@size='2']//Title[text() = "xyz"]/..
...