我正在尝试删除子节点并保留父节点和子节点值,如下所示。我的xml看起来像
<parent>
<child>
<value>
123
</value>
</child>
</parent>
,输出看起来像
<parent>123</parent>
我需要使用任何xslt进行解析。任何帮助将不胜感激。
答案 0 :(得分:1)
试试这个:
<xsl:template match="parent">
<xsl:copy>
<xsl:value-of select="."/>
</xsl:copy>
</xsl:template>
答案 1 :(得分:1)
如果你想删除一个元素及其所有后代,你会这样做......
<xsl:template match="child" />
但是,如果你只是想删除元素,但保留它的后代,你会这样做......
<xsl:template match="child">
<xsl:apply-templates />
</xsl:template>
其中<xsl:apply-templates />
是<xsl:apply-templates select="node()" />
试试这个XSLT
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes" />
<xsl:strip-space elements="*" />
<xsl:template match="child|value">
<xsl:apply-templates />
</xsl:template>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>