Top > xtra > php_manual > xmlrpc > xmlrpc_decode

xmlrpc_decode

XML-RPC レスポンス時に送信される XML を PHP のネイティブな形式にデコードする。

説明

mixed xmlrpc_decode(string $xml[, string $encoding])

パラメータ

xml
XML-RPC レスポンスの XML です。 methodResponse 要素が root 要素になっているはずです。
encoding
PHP 内部での文字列で何が使われているかを指定します。 xml 内の文字列がどのようなエンコーディングで記載されているかは xml ドキュメント自体で宣言されていますが、 これを PHP 内部の文字列として表現する際、 必要に応じて文字セットの変換を行います。

返り値

XML-RPC レスポンスの値が PHP の配列として返されます。

具体的な例はxmlrpc_encode_request を参照して下さい。

典型的な例は次のような変換を行います。

var_dump(xmlrpc_decode('<methodResponse>
<params><param><int>12</int></param></params>
</methodResponse>'));

実行結果はこのようになります。

int(12)

XML-RPC 呼び出しが失敗した場合は次のような挙動をします。 失敗だったかどうかは xmlrpc_is_fault で調べることができます。

$data=xmlrpc_decode('<methodResponse><fault><value><struct>
<member><name>faultCode</name><value><int>4</int></value></member>
<member><name>faultString</name><value><string>Too many parameters.</string></value></member>
</struct></value></fault></methodResponse>');
var_dump($data);
if(is_array($data)){
 var_dump(xmlrpc_is_fault($data));
}

実行結果はこのようになります。

array(2) {
  ["faultCode"]=>
  int(4)
  ["faultString"]=>
  string(20) "Too many parameters."
}
bool(true)

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes
Last-modified: (1877d)

© 2006-2008 Internet Revolution