- Home
- Categorie
- Coding e Sistemistica
- Coding
- Errore connessione a file xml
-
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 erroreUncaught 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?
-
Potrebbe essere necessario aggiungere altro all'header della stringa xml.