这可能是一个简单的xslt问题。我有xml如下,
<doc>
<chap>
<p>This is a para</p>
</chap>
</doc>
我需要删除<doc>
和<chap>
节点,并将节点添加到结果三。
所以输出应该是,
<new>
<p>This is a para</p>
</new>
当我写一个模板
时<xsl:template match="doc">
<new><xsl:apply templates/></new>
</template>
它将<chap>
添加到结果树。
当我将模板写入<chap>
<xsl:template match="chap">
<new><xsl:apply templates/></new>
</template>
它将<doc>
添加到结果树。
我无法抑制像<xsl:template match="chap"/>
这样的任何元素。因为它也删除了子节点。
如何使用xsl获得所需的输出?
答案 0 :(得分:1)
使用<xsl:template match="doc"><xsl:apply-templates/><xsl:template>
,然后您可以使用
<xsl:template match="chap">
<new><xsl:apply templates/></new>
</template>
以及您可能也拥有的身份转换模板(尽管您尚未展示)。