java - 将 XML 转换为属于同一模式的不同版本且稍有不同的 XML

标签 java xml xslt jaxb mule

我需要将一个 XML(例如 x1.xml)(我的应用程序的输入)转换为稍微不同的 XML(例如 x2.xml)格式,该格式基于相同架构的较新版本。 x2 是我的应用程序的输出。 x1 和 x2 大约 90% 的元素相同,因为它们属于同一架构(只是版本不同)。

最佳的转型方法是什么?我正在使用 java 和 mule esb。

最佳答案

这是 XSLT 的主要任务。从默认情况下复制未更改的元素的身份模板规则开始:

<xsl:template match="*">
 <xsl:copy>
   <xsl:copy-of select="@*"/>
   <xsl:apply-templates/>
 </xsl:copy>
</xsl:template>

然后为您想要修改的任何元素添加进一步的模板规则。

关于java - 将 XML 转换为属于同一模式的不同版本且稍有不同的 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13076409/

相关文章:

javascript - 在 XSLT 中获取 XML 元素

java - 使用 Rally API 如何查找用户具有写入权限的所有项目?

java - 如何在java中迭代JSONArray

xml - XSL 转换中命名空间的错误结果

xml - 真正简单的 XML 文件命令行 SAX 解析器

java - 我想要 Spring 注入(inject)的函数需要可变参数。我应该提供一个需要列表的重载吗?

javascript - 根据 xsl :value-of 有条件地显示 2 个字符中的 1 个

xslt - 在 XSLT 中提取单引号之间的文本

java - 消息: ORA-04079: invalid trigger specification in eclipse

java - PostgreSQL 存储过程不工作