#xml #xpath #xpath-2.0 #mismatch #xpath-1.0
#xml #xpath #xpath-2.0 #несоответствие #xpath-1.0
Вопрос:
У меня есть этот XML:
<ref>
<label>MCLaren, 1996</label>
<year>1997</year>
</ref>
<ref>
<label>Dhanvanth, 2016</label>
<year>2016</year>
</ref>
<ref>
<label>Darwin2 2001</label>
<year>1997</year>
</ref>
Я хочу проверить значение года «1997» на соответствие указанному выше значению метки «McLaren, 1996» в соответствующем теге, если необходимо отобразить несоответствие значения года с меткой, ожидаемый ответ в XPath
Я попробовал приведенный ниже код:
/ref[descendant::label != descendant::year[contains(text(),'')]]
Комментарии:
1. Вы решили свою проблему ?
Ответ №1:
Я не уверен, правильно ли я понял, что вы хотите, но следующий XPath:
/root/ref[not(contains(descendant::label/text(), descendant::year/text()))]
возвращает все ссылки, где текст года не содержится в тексте метки
Вывод
<ref>
<label>MCLaren, 1996</label>
<year>1997</year>
</ref>
<ref>
<label>Darwin2 2001</label>
<year>1997</year>
</ref>
Комментарии:
1. Большое вам спасибо.. Теперь я понимаю концепцию..