Java ApacheCamelXML到JSON
我有一个简单的XML文件,需要使用Java ApacheCamelXML到JSON,java,xml,apache-camel,Java,Xml,Apache Camel,我有一个简单的XML文件,需要使用camel-xmljsonJAR将其转换为JSON。我已开始使用以下内容: Main main = new Main(); main.addRouteBuilder(new ConvertXmlToJson()); main.enableHangupSupport(); main.run(); 我的配置方法如下所示: @Override public void configure() throws Exception { XmlJsonDataForm
camel-xmljson
JAR将其转换为JSON。我已开始使用以下内容:
Main main = new Main();
main.addRouteBuilder(new ConvertXmlToJson());
main.enableHangupSupport();
main.run();
我的配置方法如下所示:
@Override
public void configure() throws Exception {
XmlJsonDataFormat xmlJsonFormat = new XmlJsonDataFormat();
xmlJsonFormat.setForceTopLevelObject(true);
// from XML to JSON
//#1
from("direct:marshal").marshal(xmlJsonFormat).to("mock:json");
//#2
//from("file:resources/SimpleFile.xml").marshal(xmlJsonFormat).to("file:resources/JsonOutput.txt");
}
现在我无法理解应该在哪里传递xml对象?#2看起来正确吗?当我执行其中任何一个时,都不会发生任何事情
在控制台而不是文件上打印转换后的JSON也可以
提前感谢您的帮助。只需将路线更改为:
from("file:resource/inbox").marshal(xmlJsonFormat).to("file:resource/outbox");
然后将SimpleFile.xml复制到resource/inbox中,运行应用程序,您将在resource/outbox中获得JSON您确定要将xml发送到
direct:marshal
还是在resources
中有文件?是否应该是src/main/resources
?@hveiga My'resources'目录直接位于项目文件夹下。当我执行--file xmlDocumentFile=new file(“resources/SampleFile.xml”);谢谢,如果资源/收件箱文件夹中有2个XML文件,它将如何工作?我们可以提供特定的XML文件作为输入吗?如果资源/收件箱中有2个XML文件,那么资源/发件箱中将有2个JSON文件。指定XML文件作为输入有什么意义?我想提供一个大XML作为输入,并需要JSON格式的输出。这不起作用,我的代码看起来像:from(“file:C:/inbox”).marshal(xmlJsonFormat).to(“file:C:/outbox”);--我将XML文件放在“收件箱”文件夹中。没有错误,它只是通过而不生成JSON输出。