xpath выражение для когда узел не существует? - PullRequest
0 голосов
/ 06 января 2011

Я имею дело с некоторыми нарушениями в моих документах, в основном, некоторые узлы присутствуют, а иногда - нет.Я хочу xpath, который может учитывать обе ситуации.

Например, в моих документах есть случаи, когда span присутствует, а когда его нет.

/html/body/span/div/table/tr/td/a
/html/body/div/table/tr/td/a

Как я могувыразить xpath, который будет соответствовать обоим случаям выше?

1 Ответ

1 голос
/ 06 января 2011

Селектор // будет искать произвольно глубокий поиск.Это будет работать с или без span (он также найдет div внутри других тегов, кроме body и span):

/html/body//div/table/tr/td/a

Вы можете объединить два набора результатов, используя оператор union |:

/html/body/span/div/table/tr/td/a |
/html/body/div/table/tr/td/a

Вы можете использовать некоторую сумасшедшую фильтрацию, чтобы попытаться сделать все это в одном направлении.Не проверено:

/html/body/descendant-or-self::*[self::body or self::span/parent::body]/div/table/tr/td/a
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...