gpt4 book ai didi

XML 转换自动化

转载 作者:行者123 更新时间:2023-12-04 13:40:32 24 4
gpt4 key购买 nike

我有一个将 XML 文件作为输入的桌面应用程序。当应用程序引入新功能时,我必须创建新的 XML 文件。

新 XML 的格式与现有格式有 80% 的相似度。因此,此 XML 的自动化将使我用于新增强功能的时间减少 80%。

我已经考虑过 XSD,但我不知道这是否是正确的方法。

或者对于 XML 转换自动化还有什么可能吗?

最佳答案

XSLT 是自动转换 XML 的理想选择,前提是您准备学习一种声明性编程语言。

当新的 XML 与现有 XML 相似度达到 80% 时,从身份转换开始,

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>

它将以相同的方式复制 XML。

然后添加模板以涵盖新 XML 与旧 XML 的区别。例如,将此模板添加到标识转换中,

<xsl:template match="not-needed"/>

将阻止不需要的元素被转换成新的 XML。

还有这个模板,

<xsl:template match="old-element">
<new-element/>
</xsl:template>

将用 new-element 替换 old-element(以及它下面的所有内容)。

或者,这个模板,

  <xsl:template match="old-element">
<new-element>
<xsl:apply-templates select="@*|node()"/>
</new-element>
</xsl:template>

将用 new-element 替换 old-element(但不是它下面的所有内容)。

以这种方式在几分钟内创建基于身份的转换是很常见的。幸运的是,这种能力可以扩展到更复杂的转换,并具有同样高的结果与努力比率。

另请参阅:How to get started with XSLT?

关于XML 转换自动化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36170587/

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