xmlrpc_decode

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_decodeДекодирует XML в нативные типы PHP

Описание

mixed xmlrpc_decode ( string $xml [, string $encoding = "iso-8859-1" ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

xml

XML ответ, возвращаемый методом XMLRPC.

encoding

Входящая кодировка, поддерживаемая iconv.

Возвращаемые значения

Возвращает массив, или число, или строку, или логическое значение в соответствии с ответом, возвращаемым методом XMLRPC.

Примеры

Смотрите пример xmlrpc_encode_request().

Смотрите также

  • xmlrpc_encode_request() - Генерирует XML для метода запроса
  • xmlrpc_is_fault() - Определяет, является ли массив значений представлением ошибки XMLRPC

Коментарии

Use this with an XML-RPC client to decode a server response into native PHP variables. It will automatically translate the response XML-RPC data types into their PHP equivalents.

This function will return only false is there is any problem with format of the XML it receives.

The HTTP response header will need to be stripped off with something like;

<?php
$xml
=(substr($responsestrpos($response"\r\n\r\n")+4));

$phpvars xmlrpc_decode ($xml);
?>
2002-08-16 06:57:42
http://php5.kiev.ua/manual/ru/function.xmlrpc-decode.html
Be careful with encodings, the xmlrpc-decode function is rather strict. For example, the following response parse returns NULL :

<?xml version="1.0"?>
<methodResponse>
   <params>
      <param>
         <value><string>a & b</string></value>
         </param>
      </params>
   </methodResponse>

You should use entities : 
<?xml version="1.0"?>
<methodResponse>
   <params>
      <param>
         <value><string>a &amp; b</string></value>
         </param>
      </params>
   </methodResponse>

If your server does not encode responses properly, you may have to process responses before parse.
2004-07-18 11:18:11
http://php5.kiev.ua/manual/ru/function.xmlrpc-decode.html
64 bit (i8) integers are not parsed by xmlrpc_decode().
Use a string replacement to work around this:

<?php

$xml 
str_replace('i8>''i4>'$xml);

$decoded_xml xmlrpc_decode($xml);

?>
2009-08-21 19:18:25
http://php5.kiev.ua/manual/ru/function.xmlrpc-decode.html
Make sure the server isn't returning a string with a space for the first character, this fails in version 5.3.3 and the function returns null (though seems to be ok in 5.2). 

Easily sorted by  trimming the response data:

<?php xmlrpc_decodetrim($response) ); ?>
2011-09-05 23:09:22
http://php5.kiev.ua/manual/ru/function.xmlrpc-decode.html
Apparently there is a slight problem with xmlrpc_decode (or php) which re-formats this input: <value><double>0.000000</double></value>

As the double number 0.

To get around it, use: number_format($val, 2);
Output would be 0.00
2013-06-03 10:42:22
http://php5.kiev.ua/manual/ru/function.xmlrpc-decode.html
Автор:
Note that from libxml 2.7.9+ there is a limit of 10MB for the XML-RPC response.

If the response is larger, xmlrpc_decode will simply return NULL.

There is currently no way to override this limit like we can with the other xml functions (LIBXML_PARSEHUGE)
2016-05-18 17:24:28
http://php5.kiev.ua/manual/ru/function.xmlrpc-decode.html

    Поддержать сайт на родительском проекте КГБ