gpt4 book ai didi

xml - 使用 XSLT 删除简单 XML 文件中的重复条目

转载 作者:数据小太阳 更新时间:2023-10-29 02:22:21 26 4
gpt4 key购买 nike

我是 XSLT 的新手,在从简单的 XML 文件中删除重复项时遇到了问题。花了很多时间试图得到它,但它从来都不是很正确。这是源文件:

<?xml version="1.0" encoding="UTF-16"?>
<language>
<lang name="welcome">welcom</lang>
<lang name="open">Open</lang>
<lang name="close">Close</lang>
<lang name="welcome">Welcome</lang>
<lang name="copy">Copy</lang>
</language>

期望的输出是这样的:

<?xml version="1.0" encoding="UTF-16"?>
<language>
<lang name="open">Open</lang>
<lang name="close">Close</lang>
<lang name="welcome">Welcome</lang>
<lang name="copy">Copy</lang>
</language>

实际文件比这个大得多,文件中的“lang”和“name”稍后可能会更改,我只想保留最后一个副本。基本上,如果标签和属性重复,只保留最后一个条目。我希望 XSLT 1.0 可以做到这一点。如果没有,我总是可以使用多个脚本,以防 lang 确实更改为其他内容。提前致谢!

最佳答案

以下 XSLT 应该可以回答您的问题:

    <?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="lang[@name=following-sibling::lang/@name]"/>
</xsl:stylesheet>

这样,您可以过滤每个 lang具有以下兄弟元素的元素 lang name 具有相同值的元素属性。

关于xml - 使用 XSLT 删除简单 XML 文件中的重复条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13027873/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com