我正在尝试拆分下面的 xml,并将每个 xml 节点保存到数据库表中。但由于某种原因,代码无法拆分。
<?xml version="1.0" encoding="UTF-8"?>
<wd:Report_Data xmlns:wd="xxx.com">
<wd:Report_Entry>
<wd:fiscalYear>FY2023</wd:fiscalYear>
<wd:postedDate>2023-03-02T12:32:05.796-08:00</wd:postedDate>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:fiscalYear>FY2023</wd:fiscalYear>
<wd:postedDate>2023-03-02T12:32:05.796-08:00</wd:postedDate>
</wd:Report_Entry>
</wd:Report_Data>
下面是我的每个片段
<foreach doc:name="For Each" doc:id="5d66e985-11c9-400b-855c-74f9247e7e50" collection="#[%dw 2.0 output application/xml ns wd xxx.com --- payload.wd#Report_Data.*wd#Report_Entry]">
<logger level="DEBUG" doc:name="Logger" message="APGLPayload #[payload]" />
</foreach>
xml 似乎格式正确。任何帮助将不胜感激。我需要以 xml 格式写入数据库表。不过我对 json 没意见。
要生成可用作 foreach 范围内的集合的数组,您应该输出到
application/java
。 XML 甚至没有数组的概念,而且性能较差,因为它必须重新解析才能以任何方式使用。事实上,当输出 XML 时,尝试使用 DataWeave Playground 中的表达式尝试将数组转换为字符串失败。
Java 输出示例:
%dw 2.0
output application/java
ns wd xxx.com
---
payload.wd#Report_Data.*wd#Report_Entry