我需要将一个XML(比如x1.xml)转换为稍微不同的XML(比如x2.xml)格式,该XML是我的应用程序的输入,该格式基于相同模式的较新版本。 x2是我的应用程序的输出。 x1和x2的大约90%的元素是相同的,因为它们属于相同的模式(只是不同的版本)。
转型的最佳方法是什么?我正在使用java和mule esb。
答案 0 :(得分:4)
这是XSLT的面包和黄油任务。从标识模板规则开始,默认情况下复制元素不变:
<xsl:template match="*">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
然后为要修改的任何元素添加更多模板规则。
答案 1 :(得分:0)
这取决于文档的大小,所需的转换类型以及运行它的次数。您需要权衡学习选择技术的成本与它将提供的好处。
我个人会从xslt样式表或Java DOM api开始,因为这是我所熟悉的。如果性能不符合您的要求,请切换到其他选项之一。