XML-RPC數據模型
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>
這樣就可以實現幾乎所有編程語言支持的數據類型。