0

我有一个名为 input-kunde-2.xml 的 XML 文件。

from("file:c:/test/?fileName=input-kunde-2.xml")
<?xml version='1.0' encoding='UTF-8'?>
<list>    
   <Name>Ying</Name>
   <Age>23</Age>
</list>

我已经使用 Apache Camel 将此文件从 C:/ 路由到另一个地方 D:/。

to("file:d:/test/?fileName=output-kunde-2.xml")

我想要什么?

现在,我想更改 XML 文件的内容。

在文件 input-kunde-2.xml 中:<Name>Ying</Name>

在文件 output-kunde-2.xml 中:<Name>Wang</Name>

我该如何实施?我曾尝试使用:

File body = exchange.getIn().getBody(File.class);
//KundeDTO kundeDTO = exchange.getIn().getBody(KundeDTO.class);

但我只能获取 XML 文件的路径。

非常感谢!

4

1 回答 1

1

如果要从文件中提取值,请将其视为 XML 文档并使用 xpath

例如与

.setHeader("myHeader").xpath("/list/Name/text()", String.class)

该文档在这里http://camel.apache.org/xpath.html


如果要修改整个 XML 文档,请使用 XSLT。使用“from”使用您的文件,然后通过 XSLT 组件将其传递,然后将其发送到您的文件位置

该文档在这里http://camel.apache.org/xslt.html

于 2013-06-18T20:30:39.353 回答