【发布时间】:2015-09-28 15:12:38
【问题描述】:
我不太能弄清楚如何将下面这两种情况与一个 XPath 匹配,我尝试在通配符匹配上进行搜索,但似乎没有找到它。是否可以仅用一个 XPath 匹配以下两种情况,还是需要 2 个?
有时候是这样的:
tr[@id='someid']/td/ol/li[1]/span/strong/a
其他时候就是这样:
tr[@id='someid']/td/ol/li[1]/a
【问题讨论】:
标签: xpath
我不太能弄清楚如何将下面这两种情况与一个 XPath 匹配,我尝试在通配符匹配上进行搜索,但似乎没有找到它。是否可以仅用一个 XPath 匹配以下两种情况,还是需要 2 个?
有时候是这样的:
tr[@id='someid']/td/ol/li[1]/span/strong/a
其他时候就是这样:
tr[@id='someid']/td/ol/li[1]/a
【问题讨论】:
标签: xpath
XPath 1:
tr[@id='someid']/td/ol/li[1]/a | tr[@id='someid']/td/ol/li[1]/span/strong/a
XPath 2:
tr[@id='someid']/td/ol/li[1]/(a | span/strong/a)
【讨论】:
通过使用
tr[@id='someid']/td/ol/li[1]/span/strong/a | tr[@id='someid']/td/ol/li[1]/a
您可以在一个查询中选择两条路径。
如果要/a-.../li[1]下的所有元素,也可以使用
tr[@id='someid']/td/ol/li[1]//a
(注意末尾的双斜杠)。来源:W3Schools
【讨论】: