Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XML转换框架建议?_Xml_Xslt_Frameworks_Smooks - Fatal编程技术网

XML转换框架建议?

XML转换框架建议?,xml,xslt,frameworks,smooks,Xml,Xslt,Frameworks,Smooks,我开始设计一个应用程序,主要完成从一种格式到另一种格式的XML转换。用户提供输入XML并告诉应用程序它是什么类型,他/她想要什么类型的输出XML,然后应用程序将输入XML转换为输出XML。 我想问问是否有一个好的框架(最好是基于Java的框架)可以做到这一点。我正在考虑将XSLT用于定制操作,但是如果有人能够建议一个已经提供了所有脚手架的现有框架,那么我将节省时间。 我要去探索斯摩克。有人提到的XSLT的一个问题是,如果不将其全部加载到内存中,它可能无法处理大于50mb的大型文件。这是真的吗?

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

如果您要将XML转换为XML,那么XSLT就是一种方法。您可以转换的文档的大小实际上只受cpu和内存的限制(与其他任何东西一样)。您将找不到比XSLT更优雅的XML转换解决方案。就您的脚手架代码而言,我建议将转换对象模块化(通过Spring之类的依赖注入框架),这样,如果输入格式发生变化,您也可以非常轻松地更改转换逻辑。

我已经专注于以下框架以满足我的要求, 阿帕奇骆驼 烟雾 XSLT(作为驼峰端点)
Oracle中的XMLDB

感谢您的回复。我同意XSLT是理想的,但请记住,我也可以使用非xml(文本)文件作为输入。另外,如果输入文件的大小是20GB,而我的服务器内存是16GB,XSLT会很好地处理这个问题,因为我认为它将基于DOM解析器加载内存中的所有内容。