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);
?>
xmlrpc_decode
(PHP 4 >= 4.1.0, PHP 5)
xmlrpc_decode — Decodifica el XML en los tipos de PHP nativos
Descripción
Warning
Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.
Parámetros
- xml
-
La respuesta XML devuelta por el método XMLRPC.
- encoding
-
Entrada de codificación que admite iconv.
Valores devueltos
Devuelve o un arreglo, o un entero, o una cadena, o un booleano conforme a la respuesta devuelta por el método XMLRPC.
Ejemplos
Ver el ejemplo de xmlrpc_encode_request().
Ver también
- xmlrpc_encode_request() - Genera XML para el requerimiento de un método
- xmlrpc_is_fault() - Determina si el valor de un arreglo representa una falla del XMLRPC
ryon dot sherman at gmail dot com
21-Aug-2009 11:18
david dot bachelart at polytechnique dot org
18-Jul-2004 03:18
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 & b</string></value>
</param>
</params>
</methodResponse>
If your server does not encode responses properly, you may have to process responses before parse.
hfuecks at pinkgoblin dot com
16-Aug-2002 10:57
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($response, strpos($response, "\r\n\r\n")+4));
$phpvars = xmlrpc_decode ($xml);
?>
