首页 > 解决方案 > 我想从 XML 结构中删除重复节点

问题描述

我想使用 XSLT 从 XML 下面删除重复的节点。我正在使用 XSLT 将 XML 转换为另一个 XML 结构。我怎样才能得到想要的结果?

我有这段代码是从一个应用程序生成的,它正在进入另一个应用程序。因此,来自源应用程序的数据包含一些冗余节点,如下例所示。所以我必须将转换后的 XML 放到目标应用程序将使用的文件夹中

标签: xmlxsltxslt-2.0

解决方案


安排起来很简单

例如,我正在寻找这样的 xml 结构中的重复文件名

<file>
      <name>some-name</name>
</file>

我做了这样的钥匙:

<xsl:key name="dupfile" match="file" use="name"/>

然后我创建一个这样的模板

<xsl:template match="file[not(generate-id() = generate-id(key('dupfile', name)[1]))]">
    </xsl:template

它被称为 Muenchian 方法,在此处找到有关此的信息:http: //www.jenitennison.com/xslt/grouping/muenchian.html


推荐阅读