首页 > 解决方案 > 有没有办法在 wso2 6.5.0 中迭代 xml 元素

问题描述

请有人可以帮忙。我有一组数据作为 csv(来自 excel 多个工作表,我已经形成了 csv)只是我想将这些数据插入到多个表中,这取决于 excel 的工作表。

请帮我解决我的问题。

我希望每次迭代中的那些 csv 形成 xml。

标签: wso2wso2esbwso2ei

解决方案


首先,我们可以从 CSV 数据构建 XML 并遍历 XML。请在下面找到示例配置。在此示例中,它将从源目录中选择 CSV 文件并进行处理。

烟雾配置:

<?xml version="1.0"?>
<smooks-resource-list
 xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd"
 xmlns:csv="http://www.milyn.org/xsd/smooks/csv-1.2.xsd">
  <resource-config selector="org.xml.sax.driver">
  <resource>org.milyn.csv.CSVReader</resource>
  <param name="fields">firstname,lastname,gender,age,country</param>
  <param name="rootElementName">people</param>
  <param name="recordElementName">person</param>
  </resource-config>
</smooks-resource-list>

代理人:

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
    name="CSVToXML"
    transports="https,http,vfs"
    statistics="disable"
    trace="disable"
    startOnLoad="true">
   <target>
    <inSequence>
        <smooks config-key="conf:/repository/smooks-config.xml">
            <input type="text"/>
            <output type="xml"/>
        </smooks>
        <!-- Here iterate through the XML -->
    </inSequence>
    <outSequence/>
   </target>
   <parameter name="transport.PollInterval">1000</parameter>
   <parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter>
   <parameter name="Operation">urn:placeOrder</parameter>
   <parameter name="transport.vfs.FileURI">file://<SOURCE_DIR></parameter>
   <parameter name="transport.vfs.MoveAfterProcess">file://<PROCESSED_FILES_DIR></parameter>
   <parameter name="transport.vfs.MoveAfterFailure">file://<FAILED_FILES_DIR></parameter>
   <parameter name="transport.vfs.FileNamePattern">.*\.csv</parameter>
   <parameter name="transport.vfs.ContentType">text/plain</parameter>
   <parameter name="transport.vfs.ActionAfterFailure">MOVE</parameter>
   <description/>
</proxy>

参考资料: 1. https://docs.wso2.com/display/EI640/VFS+Transport 2. https://docs.wso2.com/display/EI640/Smooks+Mediator 3. https://docs.wso2. com/display/EI640/Iterate+Mediator


推荐阅读