你如何选择孩子或自我(儿童+自我)

时间:2010-11-30 07:31:19

标签: xml xslt xpath

在XSL 1.0中,descendant-or-self将选择所有后代和当前节点。如果您只想选择直接子节点和当前节点(即子节点或自身节点),该怎么办?

XPATH可以吗?

1 个答案:

答案 0 :(得分:11)

在XPath 1.0或更高版本中使用

SomeExpression | SomeExpresion/node()

在XPath 2.0或更高版本中使用

SomeExpression/(self::node()|node())

答案不正确

SomeExpression | SomeExpresion/*

因为它只选择那些SomeExpression的元素作为元素,而SomeExpression也可以有其他子元素 - 作为文本节点,注释节点,处理指令节点。

也不正确

./SomeExpression | ./*/SomeExpression

这不会选择./SomeExpression的直接子女,也不会选择./*/SomeExpression的子女。