我有索姆XML我需要转换以删除双标签。xsl转换删除双标签
原来我用:
<xsl:template match="*[name()=name(../..)]"></xsl:template>
<xsl:template match="*[name()=name(../../..)]"></xsl:template>
<xsl:template match="*[name()=name(..)]">
<xsl:apply-templates select="@*|node()"/>
</xsl:template>
一起除去内部的两个标签名称相同。但是,如果只有一个内部标签,那只能工作得很好。
我:
<a>
<a>
<b>xxxx</b>
<c>xxxx</c>
</a>
<a>
<b>yyyy</b>
<c>yyyy</c>
</a>
</a>
我想结束了:
<a>
<b>xxxx</b>
<c>xxxx</c>
</a>
<a>
<b>yyyy</b>
<c>yyyy</c>
</a>
不是:
<a>
<b>xxxx</b>
<c>xxxx</c>
<b>yyyy</b>
<c>yyyy</c>
</a>
我还不是很了解XSL转换与搜索语法,所以我希望有人能帮助我。
您要求的输出不是格式良好的XML(缺少根元素)。你确定这就是你想要的吗? –
是的。以上是一个片段。 不是根元素。感谢您指出了这一点。 大约三四个层次 – user3036309