Xpath для значения элемента, где значение атрибута является чем-то - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть это XML. Хочу найти значение элемента "Val", где значение атрибута @Name = "пользователь".

<Root xmlns="http://schemas.business.com">
  <Parameter Name="ABC">
    <Val>False</Val>
  </Parameter>
  <Parameter Name="PQ">
    <Val>Retail</Val>
  </Parameter>
  <Parameter Name="User">
    <Val>False</Val>
  </Parameter>
</Root>

Я прошел весь узел параметров с помощью // * [@ Name = "User"], но мне нужно значение элемента Val.

Любая помощь приветствуется.

Ответы [ 3 ]

0 голосов
/ 29 апреля 2020

Я нашел его с более длинной формой XPath.

/*[local-name()='Root']/*[local-name()='Parameter' and @Name='User']/*[local-name()='Val']/text()

Спасибо

0 голосов
/ 29 апреля 2020

Другой вариант:

//*[name()="Parameter"][@Name="User"]/child::*/text()

Выход: False

0 голосов
/ 29 апреля 2020

Пожалуйста, попробуйте следующее XPath выражение.

XPath

/*:Root/*:Parameter[@Name="User"]/*:Val
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...