在XSL 1.0中,descendant-or-self将选择所有后代节点和当前节点。如果您只想选择直接子节点和当前节点(即child-or-self),该怎么办?
在XPATH中是否可以实现?
在XPATH中是否可以实现?
XPath 1.0或更高版本中使用:
SomeExpression | SomeExpresion/node()
在XPath 2.0或更高版本中使用:
SomeExpression/(self::node()|node())
错误的答案是:
SomeExpression | SomeExpression/*
因为这仅选择了SomeExpression
的那些子元素,而SomeExpression
可能还有其他类型的子节点,如文本节点、注释节点、处理指令节点。另外不正确的是:
./SomeExpression | ./*/SomeExpression
这不会选择./SomeExpression
的直接子元素,也不会选择./*/SomeExpression
的直接子元素。