XPath Проверьте, что каждый узел имеет ожидаемое значение - PullRequest
2 голосов
/ 24 ноября 2011

С учетом следующего XML:

<root>
    <a>
        <b>Correct</b>
    </a>
    <a>
        <b>Correct</b>
    </a>
    <a>
        <b>Oh no!</b>
    </a>
</root>

Мне нужен запрос XPath, который будет гарантировать, что каждый <b> -узел имеет значение «Correct». Есть ли у вас какие-либо идеи? Любая помощь очень ценится.

Ответы [ 2 ]

3 голосов
/ 24 ноября 2011

Если вы имеете в виду «выбрать все правильные узлы», вы можете использовать /root/a/b[text() = 'Correct'], который вернет набор узлов.

Если вы имеете в виду «проверить правильность всех узлов», вы можете использовать every $i in /root/a/b/text() satisfies $i = 'Correct', который вернет логическое значение.

1 голос
/ 24 ноября 2011
/root/a/b[normalize-space(.) != 'Correct']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...