Ciao a tutti (e buona domenica)
Sto lavorando su un progetto di connessione ad un sistema informatico attraverso API.
Purtroppo la documentazione fornita non è perfettamente chiara, e ho un problema.
Attraverso una connessione ottengo in risposta un XML attraverso il SImpleXML. Solo che vorrei parsarlo in maniera più leggibile.

Diciamo che questo è il codice (ometto alcune cose inutili) fatto da una funziona più la connessione vera e propria:

codice:
<?php
function submit_cURL ($data) {
    // initialize curl handle:
    $ch = curl_init();
    // set url to post to:
    curl_setopt($ch, CURLOPT_URL, 'https://xxxxxxx' );
    // return into a variable instead on on-screen:
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    // Set timeout, in seconds:
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    // add XML data here:
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    // turn off verification of SSL for testing:
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, TRUE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, TRUE);
    // Workaround for certain Virtual Hosting hosts:
    // curl_setopt ($ch, CURLOPT_PROXY,"http://");
    // Send query to server:
    $result = curl_exec($ch);
    curl_close ($ch);
    // Create a SimpleXML object from the result and return it.
    $parsed_result = new SimpleXMLElement($result);
		foreach ($result as $title) {
			print $title->nodeValue. "\n";   
		}
    return $parsed_result;
} 

$data['user_id'] = 'xxxxxxxxxx';
$data['user_password'] = '059eee752771ea3xxxxxxxxxxxxx';
$data['type'] = 'users_list';
$data['account_id'] = 'xxxxxxxxxxx'; 
$result = submit_cURL ($data);
print_r($result);

?>
In uscita ottengo questo:

codice:
SimpleXMLElement Object
(
    [@attributes] => Array
        (
            [status] => success
        )

    [users] => SimpleXMLElement Object
        (
            [user] => Array
                (
                    [0] => SimpleXMLElement Object
                        (
                            [user_id] => robertocolonna
                            [user_first_name] => SimpleXMLElement Object
                                (
                                )

                            [user_last_name] => SimpleXMLElement Object
                                (
                                )

                            [user_password] => 9f1b54aa886ffda4ee2ac8bc1bf200caef178d26
                            [user_PIN] => SimpleXMLElement Object
                                (
                                )

                            [user_addtl_info] => SimpleXMLElement Object
                                (
                                )

                            [user_language] => IT
                            [user_timezone] => 14
                            [user_role] => N
                            [user_allowed_campaigns] => SimpleXMLElement Object
                                (
                                    [@attributes] => Array
                                        (
                                            [status] => all
                                        )

                                    [0] => 
			
                                )

                        )

                    [1] => SimpleXMLElement Object
                        (
                            [user_id] => cappa
                            [user_first_name] => SimpleXMLElement Object
                                (
                                )

                            [user_last_name] => SimpleXMLElement Object
                                (
                                )

                            [user_password] => 2df3f6a5999f4a63af6fb218def1c2b041c1af1c
                            [user_PIN] => SimpleXMLElement Object
                                (
                                )

                            [user_addtl_info] => SimpleXMLElement Object
                                (
                                )

                            [user_language] => IT
                            [user_timezone] => 14
                            [user_role] => N
                            [user_allowed_campaigns] => SimpleXMLElement Object
                                (
                                    [@attributes] => Array
                                        (
                                            [status] => some
                                        )

                                    [campaign_id] => 2281028776673701
                                )

                        )

                )

        )

)
E' possibile parsarlo in un XML più consono che possa essere banalmente

codice:
# <response status="success">
# <users>
# <user>
# <user_id>1234567890123456</user_id>
# <user_first_name>Jane</user_first_name>
# <user_last_name>Cashier</user_last_name>
# <user_password>p2345khkl235hkufbfdivsdf</user_password>
# <user_PIN>1234</user_PIN>
# <user_addtl_info></user_addtl_info>
# <user_language>EN<user_language>
# <user_timezone>15</user_timezone>
# <user_role>K</user_role>
# <user_allowed_campaigns status="some">
# <campaign_id>1234567890123456</campaign_id>
# <campaign_id>2345678901234567</campaign_id>
# ...
# </user_allowed_campaigns>
# </user>
Quello sopra riportato è i.e. l'esempio come riportato sul "Manuale" API... ovvio i valori sono diversi ma la struttura - che ho tagliato al primo - dovrebbe essere quella....


grazie in anticipo!