XML解析示例

  • Last update: May 30, 2023
  • 1. 概述

    对于 API、WebService、OData 接口中响应数据返回的 XML 格式数据、来自 XML 文件的数据,用户想要将其解析为行列格式数据,以供后续加工存储。「XML解析」算子,可以将输入的 XML 数据解析为行列形式的数据。

    本文以一个简单示例介绍如何使用「XML解析」算子。

    2.png

    2. 示例

    2.1  API 取出 XML 格式数据

    请阅读 API输入-webservice ,在「数据转换」节点中通过 API 取数获取到 XML 格式数据。如下图所示:

    预览界面获取 API 取出的 XML 数据,如下图所示:

    2.2 解析 XML 数据

    在数据转换节点,新增 XML 解析,并与上游 API 输入连接,如下图所示:

    选择源字段,并勾选是否在解析后保留所有上游输出字段,如下图所示:

    如果有命名空间,则需要指定才能获取正确节点,例如下面的前缀则需要填写 xsi、xsd、soap等等,然后填写对应的 URI,在指定命名空间后,带有前缀的节点名可以被正确识别,如下图所示:

    「解析配置」说明:

    配置项
    说明
    选择源字段

    下拉列表内容为所有前置字段名

    上游节点为 RestAPI 输入类型时,源字段默认为 default

    解析后保留所有上游输出字段勾选后,将所有上游输出字段与解析产生的新字段合并输出
    指定命名空间

    说明:

    • 若 XML中带有命名空间,需要指定命名空间才能正确读取到节点

    • 勾选后,展示命名空间列表

    • 允许新增和删除命名空间

    命名空间前缀可编辑;不允许重名;对于实际 XML 中命名前缀相同的情况,请正确填写 URI ,并将前缀命名成不同的两个值,这样程序可正常解析

    命名空间URI可编辑;允许重复

    选择XML节点读取第一行非空 XML 数据作为模板,解析出的所有可选的XML路径

    点击「选择 XML 节点」,勾选需要解析的节点,点击确定,如下图所示:

    选择 XML 节点完毕后,已选内容填入「输出字段」表格中,在表格中显示解析后的字段名称及 XPath 路径。

    表格字段
    类型
    说明
    XPath路径可编辑文本框

    配置解析后字段的XPath路径表达式

    不允许引用参数。

    允许手写手写XPath路径

    注:支持的路径类型详情参见 XML解析

    解析后字段名称

    可编辑文本框

    配置解析后的字段名称

    注1:字段名称不允许重名

    注2:不允许引用参数

    点击「数据预览」,即可看到解析后的数据。如下图所示:

    2.3 数据同步

    使用「DB表输出」将加工后的数据同步至数据库。如下图所示:





    附件列表


    主题: 数据开发
    Previous
    Next
    • Helpful
    • Not helpful
    • Only read

    滑鼠選中內容,快速回饋問題

    滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

    不再提示

    10s後關閉

    Get
    Help
    Online Support
    Professional technical support is provided to quickly help you solve problems.
    Online support is available from 9:00-12:00 and 13:30-17:30 on weekdays.
    Page Feedback
    You can provide suggestions and feedback for the current web page.
    Pre-Sales Consultation
    Business Consultation
    Business: international@fanruan.com
    Support: support@fanruan.com
    Page Feedback
    *Problem Type
    Cannot be empty
    Problem Description
    0/1000
    Cannot be empty

    Submitted successfully

    Network busy