我有以下XPath表达式:
"//*[@name='outputFormat']/ows:Value"
我想使它不区分大小写,因为在某些XML文件中,outputFormat也可能是OutputFormat等。我知道XPath 1.0中的translate
函数,并希望将它应用于此表达式。我的简单问题是:如何?我试过这个:
"//*[@Translate(name(), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')='outputformat']/ows:Value"
但这会引发错误。 任何帮助(包括提示什么是在XPath中处理此类问题的最佳方法)将不胜感激。
答案 0 :(得分:3)
您的@
应附加到name
,因为它是您要匹配的属性,而translate()
是一个功能。试试这个:
"//*[translate(@name, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') = 'outputFormat']/ows:Value"