• User Attivo

    Errore connessione a file xml

    Salve a tutti, ho un problema e non so se qualcuno di voi mi può aiutare.

    Ho uno script per una connessione ad un file xml che mi dovrebbe dare la possibilità di leggere alcuni dati e poi usarli come fossero informazioni di una tabella database.

    Vi posto lo script

    [php]
    <?php
    //XML Request
    $xml = "codigousu=" . codice;
    $xml .= "&clausu=" . calusue;
    $xml .= "&afiliacio=" . RS;
    $xml .= "&secacc=" . secacc;
    $xml .= "&xml=";
    $xml2 = "<?xml version="1.0" encoding="iso-8859-1"?>\n";
    $xml2 .= "<peticion>\n";
    $xml2 .= "<tipo>7</tipo>\n";
    $xml2 .= "<nombre>Petición de Lista de Hoteles</nombre>\n";
    $xml2 .= "<agencia>Agencia de Prueba</agencia>\n";
    $xml2 .= "<parametros>\n";
    $xml2 .= "\t<pais>" . sprintf("%-5s", $provincia) . "</pais>\n";
    $xml2 .= "\t<radio>9</radio>\n";
    $xml2 .= "\t<idioma>1</idioma>\n";
    $xml2 .= "\t<afiliacion>" . RS . "</afiliacion>\n";
    $xml2 .= "\t<usuario>" . usuario . "</usuario>\n";
    $xml2 .= "\t<marca>" . marca . "</marca>\n";
    $xml2 .= "</parametros>\n";
    $xml2 .= "</peticion>";
    $xml .= urlencode($xml2);
    $length = strlen($xml);
    //XML Connection
    $fp = @fsockopen("xml. indirizzo. com", 80);
    fputs($fp, "POST http :// xml. indirizzo. com/xml/ listen_xml.jsp HTTP/1.0\nUser-Agent: PHP XMLRPC
    1.1\r\n");
    fputs($fp, "Host: xml. indirizzo. com\n");
    fputs($fp, "Content-Type: application/ x-www-form-urlencoded\n");
    fputs($fp, "Content-Length: " . $length . "\n");
    fputs($fp, "\n");
    fputs($fp, $xml);
    $respuesta = "";
    while(!feof($fp)) $respuesta .= fgets($fp);
    fclose ($fp);
    //XML Answer
    $xml = substr($respuesta, strpos($respuesta, "<?xml"));
    //$xml = new SimpleXMLElement($xmlstr);
    $xml = new SimpleXMLElement($xml);
    $no_hotels = count($xml->parametros->hoteles->hotel);
    for($i=0;$i<$no_hotels;$i++)
    {
    $hotel = $xml->parametros->hoteles->hotel*;
    print($hotel->nombre_h); // prints te hotelname etc.
    }?>
    [/php]Ma quando vado ad eseguirlo mi da un errore

    Uncaught exception 'Exception' with message 'String could not be parsed as XML'

    Nella fattispecie l'errore si riferisce a questa riga di comando
    [php]
    $xml = new SimpleXMLElement($xmlstr);
    [/php]

    Qualcuno sa darmi qualche spiegazione?


  • User Attivo

    Potrebbe essere necessario aggiungere altro all'header della stringa xml.