【发布时间】:2020-06-11 19:58:12
【问题描述】:
我目前正在使用 Spring Integration 实现一些导入/导出机制,总的来说一切都很顺利,但似乎在我不理解的功能上存在差距:
Spring Integration File 用于轮询目录、写入文件……我可以使用它来轮询目录并为我感兴趣的每个文件获取Message<File>。
有Spring Integration XML 用于处理Document 对象,应用XPath,XSLT,...我可以用它来分析XML 文档,使用XPath 丰富标题,拆分文档,...
我缺少的是两者之间的联系:
- 给定一个存放 XML 文件的目录,我想要一个通道,其中每个文件都包含一个
Message<Document> - 给定一个带有
Message<Document>的频道,我想要一个将每个频道写入文件的配置。
Marshallers/Unmarshallers 似乎正是我正在寻找的东西(或者至少将我带到 byte[] 的一半),但他们似乎只是能够通过一些映射框架将Document 转换为 POJO 或从 POJO 转换。
对于解析,我可以通过这个简单的类帮助自己:
public class FileToDocumentTransformer extends AbstractFilePayloadTransformer<Document> {
@Override
protected Document transformFile(File file) throws Exception {
return DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(file);
}
}
但我还没有找到合适的对应物并且我不敢相信 Spring Integration 还没有内置这种微不足道的能力。
我错过了什么?
【问题讨论】:
标签: java xml file spring-integration