2
例如,对于下面xpath小写 - 有没有xpath函数来做到这一点?
<REPORT ID="TimekeeperListEdited" BoundId="Timekeeper" BoundType="ReportObject" />
的XML如何在第一个记录使用XPath匹配诸如//*[@BoundId='TimeKeeper']
。有xpath函数来做到这一点?
例如,对于下面xpath小写 - 有没有xpath函数来做到这一点?
<REPORT ID="TimekeeperListEdited" BoundId="Timekeeper" BoundType="ReportObject" />
的XML如何在第一个记录使用XPath匹配诸如//*[@BoundId='TimeKeeper']
。有xpath函数来做到这一点?
如果您正在使用的XPath 2.0,您可以使用lower-case()
功能:
//*[lower-case(@BoundId) = 'timekeeper']
如果您的使用只限于的XPath 1.0,你可以转换的情况下与translate()
函数替换每个字符串(第一个参数)与第二个参数中的任何字符相匹配,其中处于相同位置中的字符作为第三个参数传递给字符串:
//*[translate(@BoundId, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') = 'timekeeper']
,或者,如果你正在处理一个特殊情况,你正在测试是固定(而不是从你的程序中其它部分来一个变量),你可以简单地转换角色,你感兴趣的字符串:
//*[translate(@BoundId, 'k', 'K') = 'TimeKeeper']
的
可能重复【如何写一个XPath找到一个元素,其属性包含一个文本?](http://stackoverflow.com/questions/9604057/how-to-write-an-xpath-to -find-AN-元件,其属性-包含-A-文本) – Joe