* xmlrpc_decode [#i9ba7c40] XML-RPC レスポンス時に送信される XML を PHP のネイティブな形式にデコードする。 ** 説明 [#ff09adfa] mixed xmlrpc_decode(string $xml[, string $encoding]) ** パラメータ [#vcdae4d6] : xml | XML-RPC レスポンスの XML です。 methodResponse 要素が root 要素になっているはずです。 : encoding | PHP 内部での文字列で何が使われているかを指定します。 xml 内の文字列がどのようなエンコーディングで記載されているかは xml ドキュメント自体で宣言されていますが、 これを PHP 内部の文字列として表現する際、 必要に応じて文字セットの変換を行います。 ** 返り値 [#ad190d18] XML-RPC レスポンスの値が PHP の配列として返されます。 ** 例 [#m2d3e0b5] 具体的な例は xmlrpc_encode_request を参照して下しさい。 具体的な例は[[xmlrpc_encode_request>xtra/php_manual/xmlrpc/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) |
© 2006-2008 Internet Revolution