XML 和 json 中提取

1       思路

XMLjson中提取:

读取字串,用xmljson函数解析成多层结构数据,再运算成需要的目标

2       举例

2.1   xml中提取

xml文件xml.xml,数据如下所示:

从多层 xml 取出分类和明细,形成二维表,结果如下:

编写SPL脚本:


A

1

=file("xml.xml").read().import@x()

2

=A1.xml.li.(form).new(h3,p.select.option)

3

=A2.news(option;h3:name,~:time)

4

=file("result.txt").export@t(A3)

A1   xml的数据读成串,串按xml解析成多层序表

A2  按多层级节点整理序表

A3  将序表A2中的多个option值展开,合并成新的序表

A4  结果导出到result.txt

2.2   json中提取

json文件json.json,数据如下所示:

需要把这个多层json二维化,存为csvidentities字段里还有俩字段,拆到上级同级,结果如下:

编写SPL脚本:


A

1

=file("json.json").read()

2

=json(A1).users.new(displayName,givenName,surname,extension_user_type,identities.signInType:issuerType,identities.issuerAssignedId,extension_timezone,extension_locale,extension_tenant)

3

=file("json.csv").export@tc(A2)

简要说明:

A1   json文件中的数据读成串

A2  串按json格式解析成多层序表,用new函数将identities.signInTypeidentities.issuerAssignedId拆到上级

A3  结果导出到json.csv