我的需要:我想深度复制单个选定节点的所有子节点,而无需实际复制它。示例:来自
<father><son i="1" /><son i="2" /><son i="0"><lastNode /></son></father>
我想提取
<son i="1" /><son i="2" /><son i="0"><lastNode /></son>
我知道我可以使用一个循环for-each然后执行xsl:copy-of。我想知道是否有一个更简单的表达式来达到相同的结果。有想法吗
跟进。我的问题错过了两点。我应该说,所有的孩子都意味着“所有可能的孩子”,包括文本节点;另一个验证,一个更好的问题已经包含答案。第二,我从社区(社区)那里了解到,我很愚蠢,无法通过XSL解决实际上是XPATH问题的问题。感谢大家的见解
干杯。
最佳答案
尝试选择所有孩子。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:copy-of select="father/*"/>
</xsl:template>
</xsl:stylesheet>
例如。
给定输入
<father><son i="1" /><son i="2" /><niceSon /><son i="0"><lastNode /></son></father>
它输出
<son i="1" /><son i="2" /><niceSon /><son i="0"><lastNode /></son>