wso2 - 有没有办法在 wso2 6.5.0 中迭代 xml 元素
问题描述
请有人可以帮忙。我有一组数据作为 csv(来自 excel 多个工作表,我已经形成了 csv)只是我想将这些数据插入到多个表中,这取决于 excel 的工作表。
请帮我解决我的问题。
我希望每次迭代中的那些 csv 形成 xml。
解决方案
首先,我们可以从 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
推荐阅读
- android - Android - 如何使用 RxJava 观察 ArrayList 的变化
- c# - 在存储库浏览器中查看文件而无法更改它们
- javascript - 模态变暗背景
- javascript - 在整个测试中记录持久性问题
- python - 计算素数的数量直到某个大值
- java - 通过单击一个片段中的按钮以及更改 android studio 中的底部导航图标,从一个片段重定向到另一个片段
- angular - 不能使用 NgSliderModule
- ssas - 如果客户后来购买了产品 A 或 B,则 DAX 衡量
- c++ - 如何将连续分配的矩阵转换为分配的行?
- django - 在 FK 上使用 `limit_choices_to` 会导致 ModelForm 提交时出现 `MultipleObjectsReturned` 错误