wso2 - 如何在wso2中将文本转换为多个xml
问题描述
<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的子节点。
请告诉我
解决方案
您可以使用 Data-mapper 调解器使用 csv 文件构造 xml 有效负载。请参阅与 CSV 和 XML 转换相关的示例。
例如,您可以根据 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调解器或ForEach调解器来迭代给定 xpath(例如:xpath="//row")的每个子 xml 元素(即元素以 'row' 标记开头),并且对每个子元素执行 db 查询。
如果您使用数据服务来执行插入查询,则可以使用 Iterate 调解器,它为每个 xml 子元素调用数据服务。否则,您可以使用 ForEach 中介器和DBReport中介器为每个 xml 子元素执行插入查询。
推荐阅读
- google-sheets - 如何根据一个单元格中的多个数据输入对所有值求和
- python - 如何在python中根据大写分隔字符串
- sapui5 - 如何通过 ID 从弹出片段访问控制
- azure - Get-UsageAggregates PowerShell cmdlet 的“continuationtoken”问题
- mysql - 如何在节点 mysql 中使用 IF EXISTS 语句?
- linux - 一个 linux 连接到另一个 ip,如何使用 docker 将它们制作成图像并部署到其他地方
- java - 如何在 Eclipse 中运行 maven 项目(打印出“Hello Word”)
- elasticsearch - 查询更新:如果一个或多个项目不匹配,带有多个语句的内联脚本 ctx 会失败?
- powershell - 根据列表中的项目检查复选框中的项目1
- go - Golang 嵌入式结构