English 中文(简体)
XML-RPC - Data Model
  • 时间:2024-11-05

XML-RPC - Data Model


Previous Page Next Page  

XML-RPC的规格界定了6种基本数据类型和2种复合数据类型,即类型组合。

Basic Data Types in XML-RPC

Type Value Examples
int or i4 32-bit integers between - 2,147,483,648 and 2,147,483,647.

<int>27</int>

<i4>27</i4>

double 64-bit floating-point numbers

<double>27.31415</double>

<double>-1.1465</double>

Boolean true (1) or false (0)

<boolean>1</boolean>

<boolean>0</boolean>

string ASCII text, though many implementations support Unicode

<string>Hello</string>

<string>bonkers! @</string>

dateTime.iso8601 Dates in ISO8601 format: CCYYMMDDTHH:MM:SS

<datetime.iso8601>

20021125T02:20:04

以及 /日期.iso8601>

<datetime.iso8601>

20020104T17:27:30

以及 /日期.iso8601>

base64 Binary information encoded as Base 64, as defined in RFC 2045

<base64>SGVsbG8sIFdvcmxkIQ=</base64>

这些基本类型始终载于。 限量(仅限载体)可附在t/i>上。 内容可参见string。 这些基本类型可合并为两种更为复杂的类型、阵列和构件。 天体代表了顺序信息,而碎块则代表了名称价值,与表层、联系阵列或特性相类似。

array 元件注明,其中包含一份“data 值清单的内容。 与其他数据类型一样,array 元件必须附在 Value元件内。 例如:arraycontains 4 strings:

<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>

下面的阵列有4个分类:

<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>

这样,你就可以执行几乎所有由任何方案拟定语言支持的数据类型。

Advertisements