XML-RPC规范定义了六种基本数据类型和两种表示类型组合的复合数据类型。
XML-RPC中的基本数据类型,如下表中所示 -
类型 | 值 | 示例 |
---|---|---|
int 或i4 |
32位整数 | <int>27</int> , <i4>27</i4> |
double |
64位浮点数 | <double>27.31415</double> , <double>-1.1465</double> |
Boolean |
true (1) 或 false (0) |
<boolean>1</boolean> , <boolean>0</boolean> |
string |
ASCII文本,尽管许多实现支持Unicode | <string>Hello</string> , <string>bonkers! @</string> |
dateTime.iso8601 |
ISO8601格式的日期: CCYYMMDDTHH:MM:SS |
<dateTime.iso8601> 20021125T02:20:04 </dateTime.iso8601> |
base64 |
二进制信息编码为Base 64 ,如RFC 2045中所定义 |
<base64>SGVsbG8sIFdvcmxkIQ==</base64> |
这些基本类型始终包含在值元素中。 字符串(和仅字符串)可以包含在值元素中,但省略字符串元素。 这些基本类型可以组合成两个更复杂的类型,数组和结构。 数组表示顺序信息,而结构表示名称-值对,非常类似于哈希表,关联数组或属性。
数组由数组元素指示,数组元素包含保存值列表的数据元素。 与其他数据类型一样,数组元素必须包含在value
元素中。 例如,以下数组包含四个字符串:
<value>
<array>
<data>
<value><string>This </string></value>
<value><string>is </string></value>
<value><string>an </string></value>
<value><string>array.</string></value>
</data>
</array>
</value>
以下数组包含四个整数:
<value>
<array>
<data>
<value><int>7</int></value>
<value><int>1207</int></value>
<value><int>-99</int></value>
<value><int>42</int></value>
</data>
</array>
</value>
数组也可以包含不同类型的混合,如下所示:
<value>
<array>
<data>
<value><boolean>1</boolean></value>
<value><string>Array collection, eh?</string></value>
<value><int>-91</int></value>
<value><double>142.14325</double></value>
</data>
</array>
</value>
创建多维数组很简单 - 只需在数组中添加一个数组:
<value>
<array>
<data>
<value>
<array>
<data>
<value><int>10</int></value>
<value><int>20</int></value>
<value><int>30</int></value>
</data>
</array>
</value>
<value>
<array>
<data>
<value><int>15</int></value>
<value><int>25</int></value>
<value><int>35</int></value>
</data>
</array>
</value>
</data>
</array>
</value>
一个简单的结构可能看起来像:
<value>
<struct>
<member>
<name>givenName</name>
<value><string>Max</string></value>
</member>
<member>
<name>familyName</name>
<value><string>Su</string></value>
</member>
<member>
<name>age</name>
<value><int>26</int></value>
</member>
</struct>
</value>
这样就可以实现几乎所有编程语言支持的数据类型。
上一篇:
XML-RPC简介
下一篇:
XML-RPC请求格式