例如,对于下面的xml
<REPORT ID="TimekeeperListEdited" BoundId="Timekeeper" BoundType="ReportObject" />
Run Code Online (Sandbox Code Playgroud)
如何将第一条记录与xpath匹配//*[@BoundId='TimeKeeper'].是否有xpath函数来执行此操作?
hel*_*cha 12
如果您使用的是XPath 2.0,则可以使用以下lower-case()功能:
//*[lower-case(@BoundId) = 'timekeeper']
Run Code Online (Sandbox Code Playgroud)
如果您的使用仅限于XPath 1.0,您可以使用translate()函数转换案例,该函数替换字符串中的每个字符(第一个参数),该字符与第二个参数中的任何字符匹配,并且字符串在字符串中的相同位置发生作为第三个论点:
//*[translate(@BoundId, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') = 'timekeeper']
Run Code Online (Sandbox Code Playgroud)
或者,如果您正在处理特定情况并且您正在测试的字符串是固定的(而不是来自程序中其他部分的变量),您只需翻译您感兴趣的字符:
//*[translate(@BoundId, 'k', 'K') = 'TimeKeeper']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7496 次 |
| 最近记录: |