我试图将文档转换为
之类的文档<tag1>
<tag1>
<tag2>....</tag2>
<tag3>....</tag3>
<tag4>
<tag4>
<tag5>...</tag5>
.
.
</tag4>
</tag1>
</tag1>
我想删除重复的tag1和tag4。在打开xml文件之前,我不知道标签的名称。
更新
右。我有
<xsl:template match="body/body">
<xsl:apply-templates select="@*|node()"/>
</xsl:template>
这是一项删除测试...
<body>
<body>
---more xml here--
</body>
</body>
这样可以正常删除其中一个body标签。我需要的是一个更通用的匹配表达式,允许我捕获并删除任何双标签,因为直到运行时才知道双标签是什么。
我应该在xsl样式表中写什么?
答案 0 :(得分:0)
我找到了解决方案。我会在这里发布,以防其他人遇到同样的问题:
<xsl:template match="*[name()=name(..)]">
<xsl:apply-templates select="@*|node()"/>
</xsl:template>
它将标记的名称与父标记的名称(name(..))进行比较。