xml

阅读(210) 标签: xml, import,

xml格式可以比较方便地存储树状结构的数据,因此常用于各种配置文件中,使用xml格式也可以用字符串格式来存储数据。

先用一个例子来简单了解如何使用xml作为数据源使用:

 

A

1

=file("data.xml")

2

=A1.read().import@x()

3

=xml(A1.read())

4

=A1.read().import@x(;"data")

A1从文件data.xml中读取字串,data.xml中数据如下:

<?xml version="1.0" encoding="ISO-8859-13"?>

<data>

<cities>

<CID>1</CID>

<NAME>"New York"</NAME>

<POPULATION>8084316</POPULATION>

<STATEID>32</STATEID>

</cities>

<cities>

<CID>2</CID>

<NAME>"Los Angeles"</NAME>

<POPULATION>3798981</POPULATION>

<STATEID>5</STATEID>

</cities>

<cities>

<CID>3</CID>

<NAME>"Chicago"</NAME>

<POPULATION>2886251</POPULATION>

<STATEID>13</STATEID>

</cities>

<state>

<STATEID>1</STATEID>

<NAME>"Alabama"</NAME>

<ABBR>"AL"</ABBR>

</state>

<state>

<STATEID>2</STATEID>

<NAME>"Alaska"</NAME>

<ABBR>"AK"</ABBR>

</state>

</data>

xml中定义了总体的节点data,并在其中存储了两个表citiesstate的数据,存储时每一条数据都以表名为节点,记录各个字段的值分别列出。A2中从文件中用read函数读出字串,再用import@x函数将字串读入:

此时,xml字串将被解析为1条记录,双击可查看:

可以看到,citiesstate被解析为了记录中的两个字段值,双击可以查看。

A2中的表达式也可以写为A3xml() 函数的模式,两种方法读出的结果是相同的。

使用import@x时,也可以直接指定节点名称,如A4中返回结果如下:

 

使用xml数据时,节点的值有多种定义方法,如:

<?xml version="1.0" encoding="ISO-8859-13"?>

<data>

<state>

<STATEID NAME="Alabama" ABBR="AL">1</STATEID>

<STATEID NAME=" Alaska" ABBR="AK">2</STATEID>

</state>

</data>

读取这种类型的xml时,需要用xml@s() 函数:

 

A

1

=file("data2.xml")

2

=xml@s(A1.read())

A2中得到的结果如下: