xpath - 使用 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") 时,有什么方法可以使标签名称不区分大小写?非常感谢您的帮助。
解决方案
以下是丑陋的,但试试这个 xpath 表达式,看看它是否有效:
//*/@*[translate(name(), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')='title']
这应该会输出所有五张 CD。
推荐阅读
- laravel - Laravel 雄辩与归档表
- c - 图像直方图均衡化
- google-apps-script - 应用程序脚本检测外部电子表格中的新行插入并获取值
- linux - GrADS -- libssl.so.10:错误的 ELF 类:ELFCLASS64
- javascript - 使用查询字符串而不是公共 URL,Office365 添加内联图像
- connect - Debezium连接器插入kafka密钥作为avro?
- woocommerce - 机器人、Woo 和添加到购物车
- architecture - 业务流程监控方法
- generics - 使用泛型类型设计类和接口
- reactjs - react-intl 货币显示不带小数