我的需要:我想深度复制单个选定节点的所有子节点,而无需实际复制它。示例:来自

<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>

10-07 19:31
查看更多