【问题标题】:How to convert text to multiple xml in wso2如何在wso2中将文本转换为多个xml
【发布时间】:2019-07-17 10:58:26
【问题描述】:
<payloadFactory media-type="xml" description="Select Sheets">
                <format>
                    <Response>$1</Response>
                </format>
                <args>
                    <arg evaluator="xml" expression="get-property('name')"/>
                </args>
            </payloadFactory>   
<script language="js"><![CDATA[var csv = mc.getPayloadXML();   
  var lines = (csv + "").split("\n");
    for (var l = 1; l <= lines.length; l++) {
      cells = (lines[l] + "").split(";");
  }
]]></script>

我正在尝试通过 esb 选项从 excel 中获取数据,我也得到了输出,但没有正确获取。请指导我做。从多个 excel 工作表或多个 excel 文件中检索数据正在从我形成 csv 的检索数据中工作。从 csv 我需要形成多个 xml 然后需要插入到数据库中。如何将csv形成多个xml?

假设某些工作表包含 3 列、4 列或 5 列。取决于需要形成xml的子节点。

请告诉我

【问题讨论】:

    标签: wso2 wso2esb wso2ei


    【解决方案1】:

    您可以使用 Data-mapper 调解器通过 csv 文件构造一个 xml 有效负载。请参阅与 CSV 和 XML 转换相关的examples

    例如,您可以根据 csv 表中的列数创建 xml 有效负载。

    <rows>
      <row>
        <col1>value1</col1>
        <col2>value2</col2>
        <col3>value3</col3>
      </row>
      <row>
        <col1>value4</col1>
        <col2>value5</col2>
        <col3>value6</col3>
      </row>
    </rows>

    一旦你创建了 xml 有效负载,你可以使用Iterate mediator 或ForEach mediator 来迭代给定xpath(例如:xpath=" //row"),并对每个子元素执行db查询。

    如果您使用数据服务来执行插入查询,您可以使用 Iterate 调解器,它为每个 xml 子元素调用数据服务。否则,您可以使用 ForEach 调解器和 DBReport 调解器来为每个 xml 子元素执行插入查询。

    【讨论】:

    • 请告诉我,如何将这些数据分离到多个表中 第一行数据到一个表中 第二行数据到一个表中?
    • schemas.xmlsoap.org/soap/envelope/…> FirstNameLastNameDOBEmp IdSumathi Marimuthu240391.011011.0SumathiMuthuraman250514.0 value> 13473.0
    • FirstNameLastNameDOBEmpId电子邮件SumathiMarimuthu24391.011011.0sumathi.mar24@gmail.com
    • 以上 2 是我的输出,我需要将这些数据插入到多个表中。请指导我怎么做..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-26
    • 1970-01-01
    • 2016-11-30
    • 2012-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多