编写与前缀匹配的XPath表达式

时间:2013-04-17 15:24:27

标签: xpath

我是XPath的新手。

要求是创建一个XPath表达式,该表达式返回元素列表,而不是单个元素。之后,我们应用自定义逻辑来定位列表中的所需元素。

可以使用以下XPath访问单个元素:

.//*[@id='reportListItemID0']/td[12]/a
.//*[@id='reportListItemID1']/td[12]/a
.//*[@id='reportListItemID2']/td[12]/a
.
.
.
.//*[@id='reportListItemID20']/td[12]/a
.//*[@id='reportListItemID21']/td[12]/a

请告诉我,如何编写一个XPath表达式,它将返回所有上述元素。

我尝试了下面的内容并且它们无效:

.//*[@id='reportListItemID.']/td[12]/a
.//*[@id='reportListItemID..']/td[12]/a
.//*[@id='reportListItemID*']/td[12]/a
.//*[@id='reportListItemID**']/td[12]/a

请让我知道我错过了什么。

2 个答案:

答案 0 :(得分:6)

您应该使用starts-with()功能:

.//*[starts-with(@id,'reportListItemID')]/td[12]/a

答案 1 :(得分:2)

您还可以使用contains:

//*[contains(@id, 'reportListItemID')]/td[12]/a
相关问题