2012-03-28 110 views
0

我开始设计一个主要从一种格式到另一种格式进行XML转换的应用程序。用户提供输入XML并告诉应用程序它是什么类型,他/她想要的输出XML类型是什么,然后应用程序将输入xml转换为输出xml。 我想问一下是否有一个好的框架(最好是基于Java的)。我正在考虑使用自定义操作的XSLT,但如果有人可以建议一个已经提供所有脚手架的现有框架,那么我将节省时间。 我正在探索Smooks。有人提到的XSLT的一个问题是,它可能无法处理大于50mb的大文件,而无需将其全部加载到内存中。真的吗? 此外,输入格式有时可能不是XML ..可以是文本文件,因此我应该可以添加其他变形。当然我知道框架就是这样 - 一个框架我将提供实际的转换代码。但是很想听到专家在那里:) 谢谢 -v-XML转换框架建议?

回答

0

如果您正在将XML转换为XML,那么XSLT就是要走的路。您可以转换的文档大小实际上仅受cpu和内存(如其他所有内容)的限制。对于转换XML而言,您找不到比XSLT更优雅的解决方案。就脚手架代码而言,我会建议使转换对象变成模块化的(通过像Spring这样的依赖注入框架),这样如果输入格式发生变化,您也可以很容易地更改转换逻辑。

+0

感谢您的答复。我同意XSLT是理想的,但请记住我也可能有非xml(文本)文件作为输入。另外,如果输入文件的大小是20GB,而我的服务器内存是16GB,那么XSLT会优雅地处理这个问题,因为我认为它将基于一个DOM解析器加载内存中的所有内容。 – Vishal 2012-03-31 02:56:58

0

我已经瞄准了下框架,以满足我的要求, Apache的骆驼 的Smooks XSLT(骆驼端点) XMLDB Oracle中