XPath表达式 - 转换为小写

时间:2012-03-03 20:23:28

标签: xml xpath translate

我有以下XPath表达式:

"//*[@name='outputFormat']/ows:Value"

我想使它不区分大小写,因为在某些XML文件中,outputFormat也可能是OutputFormat等。我知道XPath 1.0中的translate函数,并希望将它应用于此表达式。我的简单问题是:如何?我试过这个:

"//*[@Translate(name(), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')='outputformat']/ows:Value"

但这会引发错误。 任何帮助(包括提示什么是在XPath中处理此类问题的最佳方法)将不胜感激。

1 个答案:

答案 0 :(得分:3)

您的@应附加到name,因为它是您要匹配的属性,而translate()是一个功能。试试这个:

"//*[translate(@name, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') = 'outputFormat']/ows:Value"