这是:
//trip/[@trainID]
有效的xpath表达式?
我已经意识到这一点:
//trip[@trainID]
选择所有trip
元素,其属性名为trainID
,并且:
//trip/@trainID
选择trainID
元素上的所有trip
属性。我还提到this answer。
答案 0 :(得分:0)
不,//trip/[@trainID]
不是有效的XPath。
就像你在标题中所说的那样,谓词必须通过节点测试来进行。
来自1.0 spec:
[4] Step ::= AxisSpecifier NodeTest Predicate* | AbbreviatedStep
将NodeTest定义为:
[7] NodeTest ::= NameTest | NodeType '(' ')' | 'processing-instruction' '(' Literal ')'