Java 如何在mule中将具有数千条记录的管道分隔文件转换为XML

Java 如何在mule中将具有数千条记录的管道分隔文件转换为XML,java,xml,file,mule,Java,Xml,File,Mule,我有一个文件入站端点,其中将输入一个管道分隔的文件。文件的第一行是头,其余是记录。平均会有40K条记录使文件大小接近7MB。我需要将这个文件转换成XML结构(文件的头和XML元素不同) 将此文件转换为XML的好方法是什么?我编写了一个组件,它接受输入流,逐行读取文件,对其进行标记,创建并写入XML文件。但在这种情况下,我会保持文件连接打开很长一段时间,我将不得不注意关闭文件流和移动文件进行备份 想知道还有什么其他的方法吗?是否有人将数据映射器用于类似目的?Mule docs for DataMa

我有一个
文件入站端点
,其中将输入一个管道分隔的文件。文件的第一行是头,其余是记录。平均会有40K条记录使文件大小接近7MB。我需要将这个文件转换成XML结构(文件的头和XML元素不同)

将此文件转换为XML的好方法是什么?我编写了一个
组件
,它接受
输入流
,逐行读取文件,对其进行标记,创建并写入XML文件。但在这种情况下,我会保持文件连接打开很长一段时间,我将不得不注意关闭文件流和移动文件进行备份


想知道还有什么其他的方法吗?是否有人将
数据映射器
用于类似目的?

Mule docs for DataMapper声明,如果在DataMapper配置中设置“streaming”属性,则“DataMapper可以仅使用大约75 MB的RAM解析500 MB的CSV文件”。管道删除计数为CSV,因为您可以配置分隔符。您还可以将其设置为忽略标题行。我会选择DataMapper,如果出现故障,我会发布另一个问题,只有在失去所有希望时才会恢复到自定义组件。

Hi Anton-我能够在Mule studio中运行data mapper,但当我尝试在独立的Mule enterprise runtime中运行时,我看到以下错误:` Mule runtime上未安装data mapper runtime。(java.lang.RuntimeException)com.mulesoft.mule.module.datamapper.clover.CloverEngineConfig:61(null)`。有什么想法吗?谢谢你的帮助!如果你有EE许可证,请咨询Mule支持部门。我会的,但我想如果其他人也面临同样的问题,如果有人还在读这篇文章。。。“自Mule runtime 3.7.0起,DataMapper已被弃用,并被DataWeave取代。”(来自)