0

我需要使用 Java 将 XML 转换为 XML。我用谷歌搜索,发现以下技术很少

  1. JAXB
  2. 阿帕奇茧
  3. XSLT

谁能从上面的列表中向我推荐更好的方法/技术?请让我知道是否还有其他更好的选择。

注意:要避免编写 XSLT。

谢谢你。

4

4 回答 4

2

创建 XSLT 是为了将 XML 转换为某种东西,并且在转换为 XML 方面表现出色。

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

Apache Cocoon 是一款出色的软件,具有链接处理单元的功能。但这可能是矫枉过正。最后,您可能必须编写 XSLT 以供 Cocoon 处理。

很抱歉,我没有JAXP的经验(SAXJDOM选项都没有),并且无法为您提供它的优缺点……除了一件好事是它提供了第三种选择:XSLT ;-)

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

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

于 2012-06-07T09:36:15.823 回答
1

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

于 2012-06-07T17:15:28.843 回答
1

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

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

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

于 2012-06-07T09:31:18.107 回答
0

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

于 2012-06-07T18:18:50.483 回答