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.
xmlrpc_decode
(PHP 4 >= 4.0.7, PHP 5)
xmlrpc_decode — Decodes XML into native PHP types
Opis
Ostrzeżenie
Ta funkcja jest w stadium EKSPERYMENTALNYM. Oznacza to, że zachowanie funkcji, jej nazwa, w zasadzie wszystko udokumentowane tutaj może zostać zmienione w przyszłych wersjach PHP bez wcześniejszego uprzedzenia. Używaj tej funkcji na własne ryzyko.
Parametry
- xml
-
XML response returned by XMLRPC method.
- encoding
-
Input encoding supported by iconv (defaults to "iso-8859-1").
Zwracane wartości
Returns either an array, or an integer, or a string, or a boolean according to the response returned by the XMLRPC method.
Przykłady
See example by xmlrpc_encode_request().
xmlrpc_decode
david dot bachelart at polytechnique dot org
18-Jul-2004 05:18
18-Jul-2004 05:18
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);
?>
