Xpath和通配符

本文关键字:通配符 Xpath | 更新日期: 2023-09-27 17:49:29

我尝试了几种组合都没有成功。该数据的完整xpath是.//*[@id='detail_row_seek_37878']/td。问题是每个节点的数字部分'37878'发生了变化,因此我不能使用foreach来遍历节点。是否有某种方法可以使用通配符并将xpath减少为.//*[@id='detail wildcard,从而绕过绝对值部分?我使用的是html敏捷包。

 HtmlNode ddate = node.SelectSingleNode(".//*[@id='detail_row_seek_37878']/td");

Xpath和通配符

提取不改变的部分:

//*[starts-with(@id, 'detail_row_seek')]/td

相关技术和函数

匹配id属性在第7个字符处包含字符串_row_ 的元素:

//*[substring(@id, 7, 5)='_row_']/td 

匹配id属性在任意位置包含文本detail_的元素:

//*[contains(@id, 'detail_')]/td 

匹配id属性结尾的元素的文本detail_row_seek:

//*['detail_row_seek' = substring(@id, 
        string-length(@id) - string-length('detail_row_seek') + 1)]/td