Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用带有camel的xpath并行处理大型xml只匹配一个表达式_Xml_Apache Camel - Fatal编程技术网

使用带有camel的xpath并行处理大型xml只匹配一个表达式

使用带有camel的xpath并行处理大型xml只匹配一个表达式,xml,apache-camel,Xml,Apache Camel,首先,非常感谢您的帮助 我想并行处理一个大的xml文件(10MB),一个接一个地流式传输眼波。xml如下所示: ... ... 我终于通过以下代码片段实现了这一点: from(“文件:/home/dalonso/Documentos/Documentos/normalizator”) .split(xpath(“//PFA”)) .multicast() .至(“直接:国家路线”) 。至(“直接:职业路线”); 从(“直接:国家路线”) .split(xpath(“//PFA/CountryL

首先,非常感谢您的帮助

我想并行处理一个大的xml文件(10MB),一个接一个地流式传输眼波。xml如下所示:


...
...

我终于通过以下代码片段实现了这一点:

from(“文件:/home/dalonso/Documentos/Documentos/normalizator”)
.split(xpath(“//PFA”))
.multicast()
.至(“直接:国家路线”)
。至(“直接:职业路线”);
从(“直接:国家路线”)
.split(xpath(“//PFA/CountryList/CountryName”)).streaming()
.log(“Country${headers.CamelSplitIndex}包含:${body}”).end();
from(“direct:occulationsroute”).split(xpath(“//PFA/occulationlist/occulation”)).streaming()
.log(“职业列表${headers.CamelSplitIndex}包含:${body}”).end();
请随时提出任何建议以改进它。非常感谢

        from("file:/home/dalonso/Documentos/documentos/normalizador")
            .choice()
                .when(xpath("//PFA/CountryList"))
                    .to("direct:countriesRoute")
                .when(xpath("//PFA/OccupationList"))
                    .to("direct:occupationsRoute");

        from("direct:countriesRoute").split(xpath("//PFA/CountryList/CountryName")).streaming()
                .log("Country ${headers.CamelSplitIndex} contains: ${body}").end();

        from("direct:occupationsRoute").split(xpath("//PFA/OccupationList/Occupation")).streaming()
                .log("OccupationList ${headers.CamelSplitIndex} contains: ${body}").end();