2017-08-21 21 views
0

我有一个Apache Camel路由,其目的是获取文档中链接的xml文档和文件。重复使用消费者从同一端点获取额外内容

<route id="route-ftp"> 
    <from uri="ftp://[email protected]:21/data?password=xxx&amp;include=.*.xml"/> 
    <to uri="myBean"/> 
</route> 

当它达到为myBean我想分析该文件,并使用相同的FTP设置以获取在XML文件中列出的文件。 或者可能使用xpath在同一时间获取它们。

<root> 
    <article> 
     <headline>Headline</headline> 
     <image src="images/cat.jpg"/> 
    </article> 
</root> 

文件的文件名被从上面的XML图像标记和src属性服用。

然后我想将原始文件与我的图像一起发送到包中。

我无法找到正确的方法来解决我的问题。

+0

欢迎来到StackOverflow,请提供代码给你已经尝试过并解释你在代码中遇到的问题,这样这里的用户可以帮助你 –

回答

2

我可能会这样做。

  1. 根据您的文件结构的不同,我会像您所做的那样使用它。然后,我会分割每行的身体(假设每行包含一个文件名)。拆分是使用拆分器EIP完成的。现在每个主体都包含文件名。

  2. 然后,我会使用骆驼的dynamicTo来使用ftp参数来丰富路径和文件。你可以保存ftp参数的属性,使它们始终相同。

通过这种方式,您可以获取列表,迭代列表并获取列表中每一行的文件。