如果他们有以下ID,我将如何选择所有链接。
<a id="List_ctl01_link3" class="content" href=link1.aspx">
<a id="List_ctl02_link3" class="content" href=link2.aspx">
<a id="List_ctl03_link3" class="content" href=link3.aspx">
<a id="List_ctl04_link3" class="content" href=link4.aspx">
等等......
请注意,最后一部分“link3”很重要,必须包含在Xpath中。
我正在使用C#和Html敏捷包。
答案 0 :(得分:5)
您好我如何选择所有链接 当他们有以下身份
使用此XPath表达式:
//a[@id[starts-with(.,'List_ctl')][substring(.,string-length()-5)='_link3']]
注意:XPath 1.0中没有fn:ends-with()
。改为使用最后一个谓词。
答案 1 :(得分:3)
使用强>:
//a[@id[starts-with(.,'List_ctl')
and
substring(.,string-length()-5)='_link3'
and
floor(substring-before(substring_after(.,'List_ctl'),'_'))
=
floor(substring-before(substring_after(.,'List_ctl'),'_'))
]
]
此XPath表达式选择文档中的所有a
元素,其id
属性具有包含以下所有属性的字符串值:
以字符串'List_ctl'
开头。
以字符串'_link3'
结尾。
'List_ctl'
和'_'
包围的子字符串是整数的表示。
答案 2 :(得分:2)
如果您使用xpath 2.0,您可以尝试使用match/matches函数并使用正则表达式。如果您使用的是xpath 1.0,则可能需要编写自定义属性解析器(请参阅xsl:function)。 AFAIR匹配功能仅适用于xpath 2.0。
可能@id [starts-with(。,'List_ct')和ends-with(。,'link3')]是另一种方法。