xpath语法不方便入手

时间:2016-12-25 18:37:40

标签: xpath

我有以下与XPATH中的语法相关的问题,感谢您对错误所在的表示:

如果我使用://@id,它会返回正确的结果,如果我想使用starts-with使其更具体,它对我不起作用,我尝试使用:

//*[@id(starts-with(.,17))]
//*@id[starts-with(.,17)]

哪里可能是错误?

1 个答案:

答案 0 :(得分:1)

您的第一次尝试XPath不起作用,因为@id()无效的XPath表达式,也许您打算使用[]来构建谓词。至于第二次尝试,以下部分不被识别为有效的XPath表达式:*@id。另一件事是starts-with()期望两个参数都是string类型。更正这些错误将为您提供一个XPath,它将正确返回id属性值以17开头的元素:

//*[@id[starts-with(.,'17')]]

上面的XPath可以简化如下:

//*[starts-with(@id,'17')]

如果您要返回id属性本身而不是元​​素,则需要修改XPath,如其他答案中所述:

//@id[starts-with(.,'17')]