XPath:获取id包含特定数量字母的节点

XPath: Get nodes where id contains a specific amount of letters

我正在使用 HTMLAgilityPack 从网站检索数据。 我想要的信息在 div 标签中,它们的 id 是 "solicitudesXXXXXX",其中 X 是大写字母,并且总是有 6.

这是我目前所拥有的

//div[contains(@id,'solicitudes']

XPath 中是否有任何函数或其他任何函数来指定我希望 ID 具有的字母数量?

由于 ID 的长度始终相同,您实际上可以只使用 XPath 函数 starts-with():

//div[starts-with(@id, 'solicitudes')]

这将 select 所有具有 id 且以 'solicitudes' 开头的 div 元素。如果您确实需要 select 一定长度的 ID,则可以执行以下操作:

//div[starts-with(@id, 'solicitudes') and string-length(@id)=17]

注意:starts-with()string-length() 都兼容所有版本的 XPath(1.0、2.0 和 3.0)