我正在处理我的文档中的一些违规行为,主要是某些节点存在,有些时候,它不存在。我想要一个能够兼顾两种情况的xpath。
例如,在我的文档中,存在跨度存在且何时不存在的情况。
/html/body/span/div/table/tr/td/a
/html/body/div/table/tr/td/a
如何表达与上述两种情况相匹配的xpath?
答案 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