使用XPath忽略大小写的SelectNodes

vfp*_*ero 10 c# xpath case-insensitive html-agility-pack

我在查找XPath中包含忽略字符大小写的字符串的元素时遇到问题.

我想在HTML页面中找到所有id为id的节点都包含文本"footer",忽略它的大写或小写.

在我的例子中,我有一个不同的html文本,如下所示:

<div id="footer">some text</div>
<div id="anotherfooter">some text</div>
<div id="AnotherFooter">some text</div>
<div id="AnotherFooterAgain">some text</div>
Run Code Online (Sandbox Code Playgroud)

我需要使用XPath选择所有节点(或任何情况下在id中使用"footer"一词的任何组合).

目前我正在使用此xpath,但不适用于UpperCase id

"//*[contains(./@id, 'footer')]/@id"
Run Code Online (Sandbox Code Playgroud)

我用translate()完成了几个测试但是没有按照我的预期工作.

任何的想法?

编辑:我正在使用HtmlAgilityPack与XPath 1.0版本的工作.

JWi*_*ley 12

不知道你是否已经尝试过这个,但这就是我对区分大小写的搜索包含的内容:

//*[contains(translate(./@id,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'), 'footer')]/@id
Run Code Online (Sandbox Code Playgroud)

我看到你找到了你的解决方案,所以我发布这个答案以防其他人有同样的问题.