#javascript #dom #xpath #xquery
#javascript #dom #xpath #xquery
Вопрос:
Например, у меня есть XML-документ, подобный этому
a[@class="wrong]
...
b
c
d
...
b
c <= this one
Я хотел бы выбрать второй // b / c, не беря // b / c из первой части с @class=»wrong».
И между нежелательным узлом и // b / c есть какой-то неизвестный узел.
И я не знаю, какая точная разметка с нежелательным классом.
Итак, я пытаюсь //*[not(contains(@class,'wrong'))]/b/c
, но это не работает, потому что, если в ‘…’ есть хотя бы один узел без этого класса, также возвращается первый b / c.
Ответ №1:
Используйте:
//b[not(ancestor::*[contains(@class,'wrong')])]/c