我有一个 XML 文件,名为 input-kunde-2.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文件的路径。
非常感谢!
最佳答案
如果您想从文件中提取值,请将其视为 XML 文档并使用 xpath
例如
.setHeader("myHeader").xpath("/list/Name/text()", String.class)
此文档位于此处 http://camel.apache.org/xpath.html
<小时/>如果您想修改整个 XML 文档,请使用 XSLT。使用“from”使用您的文件,然后通过 XSLT 组件传递它,然后将其发送到您的文件位置
关于java - 如何使用 Apache Camel、java DSL、eclipse 更改 XML 文件的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17142974/