- 学习 XML-RPC
- XML-RPC - 首页
- XML-RPC - 简介
- XML-RPC - 数据模型
- XML-RPC - 请求
- XML-RPC - 响应
- XML-RPC - 错误
- XML-RPC - 示例
- XML-RPC - 总结
- XML-RPC 资源
- XML-RPC - 快速指南
- XML-RPC - 有用资源
XML-RPC - 数据模型
XML-RPC 规范定义了六种基本数据类型和两种复合数据类型,这些复合数据类型表示类型的组合。
XML-RPC 中的基本数据类型
类型 | 值 | 示例 |
---|---|---|
int 或 i4 | 32 位整数,介于 -2,147,483,648 和 2,147,483,647 之间。 |
<int>27</int> <i4>27</i4> |
double | 64 位浮点数 |
<double>27.31415</double> <double>-1.1465</double> |
布尔值 | true (1) 或 false (0) |
<boolean>1</boolean> <boolean>0</boolean> |
字符串 | ASCII 文本,尽管许多实现支持 Unicode |
<string>Hello</string> <string>bonkers! @</string> |
dateTime.iso8601 | ISO8601 格式的日期:CCYYMMDDTHH:MM:SS |
<dateTime.iso8601> 20021125T02:20:04 </dateTime.iso8601> <dateTime.iso8601> 20020104T17:27:30 </dateTime.iso8601> |
base64 | 根据 RFC 2045 定义,以 Base 64 编码的二进制信息 |
<base64>SGVsbG8sIFdvcmxkIQ==</base64> |
这些基本类型始终包含在value元素中。字符串(且仅字符串)可以包含在value元素中,但省略string元素。这些基本类型可以组合成两种更复杂的类型,数组和结构体。数组表示顺序信息,而结构体表示名称-值对,类似于哈希表、关联数组或属性。
数组由array元素指示,该元素包含一个data元素,其中包含值的列表。与其他数据类型一样,array元素必须包含在value元素中。例如,以下array包含四个字符串
<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>1247</int></value> <value><int>-91</int></value> <value><int>42</int></value> </data> </array> </value>
数组还可以包含不同类型的混合,如下所示
<value> <array> <data> <value><boolean>1</boolean></value> <value><string>Chaotic collection, eh?</string></value> <value><int>-91</int></value> <value><double>42.14159265</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>Joseph</string></value> </member> <member> <name>familyName</name> <value><string>DiNardo</string></value> </member> <member> <name>age</name> <value><int>27</int></value> </member> </struct> </value>
这样,您可以实现任何编程语言支持的几乎所有数据类型。
广告