1. 概述
对于 API、WebService、OData 接口中响应数据返回的 XML 格式数据、来自 XML 文件的数据,用户想要将其解析为行列格式数据,以供后续加工存储。「XML解析」算子,可以将输入的 XML 数据解析为行列形式的数据。
本文以一个简单示例介绍如何使用「XML解析」算子。
demo示例详情参见:https://demo.finedatalink.com/ 「数据转换-XML解析-副本」
2. 示例
2.1 API 取出 XML 格式数据
请阅读 API输入-webservice ,在「数据转换」节点中通过 API 取数获取到 XML 格式数据。如下图所示:
预览界面获取 API 取出的 XML 数据,如下图所示:
2.2 解析 XML 数据
在数据转换节点,新增 XML 解析,并与上游 API 输入连接,如下图所示:
选择源字段,并勾选是否在解析后保留所有上游输出字段,如下图所示:
如果有命名空间,则需要指定才能获取正确节点,例如下面的前缀则需要填写 xsi、xsd、soap等等,然后填写对应的 URI,在指定命名空间后,带有前缀的节点名可以被正确识别,如下图所示:
「解析配置」说明:
配置项 | 说明 |
---|---|
选择源字段 | 下拉列表内容为所有前置字段名 上游节点为 RestAPI 输入类型时,源字段默认为 default |
解析后保留所有上游输出字段 | 勾选后,将所有上游输出字段与解析产生的新字段合并输出 |
指定命名空间 | 说明:
命名空间前缀:可编辑;不允许重名;对于实际 XML 中命名前缀相同的情况,请正确填写 URI ,并将前缀命名成不同的两个值,这样程序可正常解析 命名空间URI:可编辑;允许重复 |
选择XML节点 | 读取第一行非空 XML 数据作为模板,解析出的所有可选的XML路径 |
点击「选择 XML 节点」,勾选需要解析的节点,点击确定,如下图所示:
选择 XML 节点完毕后,已选内容填入「输出字段」表格中,在表格中显示解析后的字段名称及 XPath 路径。
表格字段 | 类型 | 说明 |
---|---|---|
XPath路径 | 可编辑文本框 | 配置解析后字段的XPath路径表达式 不允许引用参数。 允许手写手写XPath路径 注:支持的路径类型详情参见 XML解析 |
解析后字段名称 | 可编辑文本框 | 配置解析后的字段名称 注1:字段名称不允许重名 注2:不允许引用参数 |
点击「数据预览」,即可看到解析后的数据。如下图所示:
2.3 字段拆分
新增「字段拆行」节点,配置节点,将字段按分隔符拆分成多行数据,如下图所示:
2.4 字段设置
使用「字段设置」,删除没拆分的原字段「body:string」,如下图所示:
2.5 数据同步
使用「DB表输出」将加工后的数据同步至数据库。如下图所示:
点击「运行」按钮,运行成功后,如下图所示: