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