在XSL 1.0中,后代或自身将选择ALL所有后代和当前节点。如果您只想选择直系子代和当前节点(即子代或自身),该怎么办?
XPATH有可能吗?
最佳答案
在XPath 1.0或更高版本中,使用:
SomeExpression | SomeExpresion/node()
在XPath 2.0或更高版本中,使用:
SomeExpression/(self::node()|node())
一个不正确的答案是:
SomeExpression | SomeExpresion/*
因为这只会选择
SomeExpression
的那些子元素,而SomeExpression
可能还会有其他子元素-例如文本节点,注释节点,处理指令节点。也是不正确的:
./SomeExpression | ./*/SomeExpression
这不会选择
./SomeExpression
的直接子代,也不会选择./*/SomeExpression
的直接子代。