首页 > 解决方案 > 使用 contains(@tag name, "value") 时,Xpath 对标签名称不区分大小写

问题描述

我找到了使用 translate(.,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz') 使 XPATH 不区分大小写的方法

但是我想让“标签名称”不区分大小写,而不是值。

例如,

<CATALOG>
    <CD title="Empire Burlesque"/>
    <CD title="empire burlesque"/>
    <CD title="EMPIRE BURLESQUE"/>
    <CD title="Others blahblah"/>
    <CD Title="Others blah"/>
</CATALOG>

我想找到路径//*[contains(@title, "Others")and //*[contains(@Title, "others"],所以我想让标签名称不区分大小写。

我正在使用使用 XMLDOM 的 nodejs Xpath,它支持 XPATH 1.0

使用 contains(@tag name, "value") 时,有什么方法可以使标签名称不区分大小写?非常感谢您的帮助。

标签: xpathxmldom

解决方案


以下是丑陋的,但试试这个 xpath 表达式,看看它是否有效:

//*/@*[translate(name(), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')='title']

这应该会输出所有五张 CD。


推荐阅读