什么时候节点不存在的xpath表达式?

时间:2011-01-05 23:12:04

标签: xpath

我正在处理我的文档中的一些违规行为,主要是某些节点存在,有些时候,它不存在。我想要一个能够兼顾两种情况的xpath。

例如,在我的文档中,存在跨度存在且何时不存在的情况。

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

如何表达与上述两种情况相匹配的xpath?

1 个答案:

答案 0 :(得分:1)

//选择器会随意搜索。这可以使用或不使用span(除了body和span之外,它还可以在其他标签内找到div):

/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