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 — Décode le XML en types PHP natifs
Description
Avertissement
Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.
Liste de paramètres
- xml
-
Réponse XML retournée par la méthode XMLRPC.
- encoding
-
Encodage d'entrée, supporté par iconv (par défaut, "iso-8859-1").
Valeurs de retour
Retourne soit un tableau, soit un entier, soit une chaîne, soit un booléen, en fonction de la réponse retournée par la méthode XMLRPC.
Exemples
Voir l'exemple fourni avec la documentation de la fonction xmlrpc_encode_request().
Voir aussi
- xmlrpc_encode_request() - Génère le XML pour une méthode
- xmlrpc_is_fault() - Détermine si un tableau de valeurs représente un XMLRPC
xmlrpc_decode
ryon dot sherman at gmail dot com
22-Aug-2009 01:18
22-Aug-2009 01:18
david dot bachelart at polytechnique dot org
18-Jul-2004 05:18
18-Jul-2004 05: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 12:57
16-Aug-2002 12: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);
?>
