什么是最有效的基于Java的流式XSLT处理器?
我有一个非常大的XML文件,需要将其转换为另一个XML文件,我想用XSLT来实现这一点。我更感兴趣的是对记忆的优化,而不是对速度的优化(尽管速度也不错!) 您会为此任务推荐哪个基于Java的XSLT处理器 您会推荐任何其他方法(非XSLT?、非Java?)吗?如果是,为什么什么是最有效的基于Java的流式XSLT处理器?,java,xslt,processor,Java,Xslt,Processor,我有一个非常大的XML文件,需要将其转换为另一个XML文件,我想用XSLT来实现这一点。我更感兴趣的是对记忆的优化,而不是对速度的优化(尽管速度也不错!) 您会为此任务推荐哪个基于Java的XSLT处理器 您会推荐任何其他方法(非XSLT?、非Java?)吗?如果是,为什么 有问题的XML文件非常大,但不是很深——有数百万行(元素),但只有大约3层深 请参见流模式的Saxon支持 如果这种流模式不适合您,您可以尝试使用Saxon,它针对更小的内存使用进行了优化。(无论如何,默认值)可以考虑,ja
有问题的XML文件非常大,但不是很深——有数百万行(元素),但只有大约3层深 请参见流模式的Saxon支持 如果这种流模式不适合您,您可以尝试使用Saxon,它针对更小的内存使用进行了优化。(无论如何,默认值)可以考虑,java实现是什么。由于它类似于XSLT,但作为一个流处理器,它能够使用很少的RAM处理大量文件
Joost可以作为标准的javax.xml.transform.TransformerFactory使用目前已知的处理器只有三个,从它们看来,无论在速度还是内存利用率方面,Joost都可能是最有效的(至少根据我的经验)(支持模式的Saxon版本,不像B(基本)版本那样免费)具有流式处理的特殊扩展 来自各种现有处理器,.NET(基于C,而不是Java!)似乎是冠军 在基于Java的XSLT 1.0处理器世界中同样非常好 更新: 现在,从最初回答这个问题的日期算起已经三年多了,没有任何证据表明所提到的XSLT处理器之间的效率差异已经改变 至于流媒体: