Как заставить подстановочные знаки работать при сопоставлении значений атрибутов XPath? - PullRequest
5 голосов
/ 18 июня 2009

У меня есть следующий XML:

<root>
  <foo>
    <bar type="a whole bunch of stuff, then a magic string: MUPPET" />
    <value>my Muppet value</value>
  </foo>
  <foo>
    <bar type="some other stuff, then a different magic string: GREMLIN" />
    <value>my Gremlin value</value>
  </foo>
</root>

Я бы хотел создать запрос XPath, который возвращает «значение моего Маппета» (строку) с учетом магической строки «MUPPET». Мое предположение было:

/root/foo[contains(bar/@type,'MUPPET')]/value/text()

но это не похоже на работу. Я действительно не уверен, разрешает ли этот оператор contains(x,y) запрос в качестве первого параметра. Как побочный вопрос, я не уверен, нужен ли мне text() на конце.

Любая помощь?

Ответы [ 2 ]

5 голосов
/ 18 июня 2009

Я только что проверил этот онлайн XPATH Evaluators и он работает нормально:

http://www.mizar.dk/XPath/Default.aspx

0 голосов
/ 18 июня 2009

Вы уверены, что у вас нет проблем с пространством имен в вашем XPath?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...