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)。
我正在使用 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)。