在Java中将XML转换为XML的更好方法/技术是什么?

时间:2012-06-07 09:24:54

标签: xslt

我需要使用Java将XML转换为XML。 我用Google搜索,我发现以下几项技术

  1. JAXB
  2. Apache Cocoon
  3. XSLT
  4. 有人可以从上面的列表中向我推荐更好的方法/技术吗? 如果还有其他更好的选择,请告诉我。

    注意:要避免编写XSLT。

    谢谢。

4 个答案:

答案 0 :(得分:2)

创建XSLT是为了将XML转换为某种东西,并且非常适合转换为XML。

  • 根据您的要求,纯XSLT就足够了;
  • 如果您的要求超出了本机XSLT功能,使用 Apache Xalan ,您可以在java中编写自己的扩展函数。

Apache Cocoon是一款非常出色的软件,具有链接处理单元的功能。但这可能有点矫枉过正。最后,你可能不得不为Cocoon编写XSLT来处理。

对不起,我没有使用 JAXP SAX JDOM 选项)的经验,并且无法为您提供对它的利弊......除了一件好事之外,它提供了第三种选择:XSLT; - )

如果你真的不想使用XSLT,可以查看编译为java类的 Groovy ,并据说自动将XML转换为对象图,并将对象图转换为XML 。请查看以下主题以获得快速概述:

最后,也许看看这个非常相似的问题(及其答案):

答案 1 :(得分:1)

如果你想要通用的,复杂的转换,那么XSLT就是你要走的路--AFAIK它是最强大的工具。

对于许多更简单的任务,可能没有必要。如果您只是填写或多或少的统一文档,如电子邮件或报告,请尝试使用freemarker等模板框架。

我不熟悉Cocoon,而不确定如何使用JAXB进行XML转换。

答案 2 :(得分:1)

确实存在与XSLT相关的学习曲线。它也是这项工作的最佳工具。咬紧牙关学习。

答案 3 :(得分:0)

我发现saxon是一款出色的xslt处理器,能够支持xslt 2.0。 xslt 1.0和2.0之间存在巨大差异。 我相信它也可以在Java中扩展。