我想从XML
中删除属性和根元素输入XML:
<OrderList>
<Order>
<Extn ExtnTest="" ExtnVoid="" />
</Order>
</OrderList>
预期的XML
<Order>
<Extn ExtnTest="" />
</Order>
所以我想删除根元素(OrderList)和属性(ExtnVoid)
我正在使用下面的XSL,但它不起作用请帮助
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/OrderList/@ExtnVoid" />
<xsl:template match="/">
<xsl:copy-of select="/OrderList/*"/>
</xsl:template>
</xsl:stylesheet>
答案 0 :(得分:2)
从身份转换开始,您可以通过仅将模板应用于子元素,然后吃掉不需要的属性来删除包装器:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/OrderList">
<xsl:apply-templates select="*"/>
</xsl:template>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="@ExtnVoid" />
</xsl:stylesheet>