【问题标题】:Is there a way to iterate the xml element in wso2 6.5.0有没有办法在 wso2 6.5.0 中迭代 xml 元素
【发布时间】:2019-07-19 11:38:14
【问题描述】:

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

请帮我解决我的问题。

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

【问题讨论】:

    标签: wso2 wso2esb wso2ei


    【解决方案1】:

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

    Smooks 配置:

    <?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

    【讨论】:

    • 嗨,谢谢。首先想知道没有smooks不可能吗?我想用一个代理做所有事情。请指导我做
    • 嗨,Sumathi,这仍然是一个单一的代理服务。添加 smooks 调解器时,开发者工作室会要求您创建一个配置文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-03
    • 1970-01-01
    • 2011-02-15
    • 2016-09-23
    • 2020-02-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多