如何使用Mule将大型xml文件拆分为几个小文件

时间:2013-11-27 17:11:08

标签: xml mule mule-studio

首先,对不起,我是一个骡子新手。我试图获取一个大型XML文件并将其拆分为多个文件。我一直遇到内存异常。我知道我需要流,所以我不是把所有内容都加载到内存中,但是从那里我的google-fu让我失望。所以我有以下问题:

  • 有没有办法可以在不编写代码的情况下实现这一目标(仅通过骡子流)?
  • 基本步骤是什么?不是要求一个完整的解决方案,只需要朝着正确的方向发展。以下是我尝试过的失败者:

文件(流媒体) - > DataMapper(流媒体) - > Dom-to-Xml-transformer - >档案

文件(流媒体) - >拆分器(使用xpath) - > aggegator - > foreach(Dom-to-Xml-transformer - >文件)

提前致谢。

2 个答案:

答案 0 :(得分:0)

DataMapper中当前的流式实现仅适用于输出。

如果您要接收要流式传输的InputStream,则需要在DataMapper之前执行上一步,即使用组件或转换器并使用SAX处理InputStream。你实际上需要编写代码。

答案 1 :(得分:0)

看起来Mule提供了自己的StAX实现

http://www.mulesoft.org/documentation/display/current/XmlToXMLStreamReader+Transformer

我不确定它是否运作良好,但对你的问题肯定有帮助