Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/01/2013, 16:38
kiri_vfk
 
Fecha de Ingreso: diciembre-2012
Mensajes: 17
Antigüedad: 11 años, 4 meses
Puntos: 0
Errores en integracion XML con PHP

Tengo que hacer una integracion XML y me han proporcionado el siguiente codigo:
Código PHP:
Ver original
  1. <?
  2. //XML Request
  3. $xml = "codigousu=" ."xxxx";
  4. $xml .= "&clausu=" . "xxxxxxx";
  5. $xml .= "&afiliacio=" . "xx";
  6. $xml .= "&secacc=" . "xxxxx";
  7. $xml .= "&xml=";
  8. $xml2 = "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n";
  9. $xml2 .= "<peticion>
  10. <nombre>Petición de Paises</nombre>
  11. <agencia>Viajes Rufet</agencia>
  12. <tipo>5</tipo>
  13. </peticion>";
  14.  
  15. $xml .= urlencode($xml2);
  16. $length = strlen($xml);
  17. //XML Connection
  18. $fp = @fsockopen("xml.hotelresb2b.com", 80);
  19. fputs($fp, "POST http://xml.hotelresb2b.com/xml/listen_xml.jsp HTTP/1.0\nUser-Agent: PHP XMLRPC 1.1\r\n");
  20. fputs($fp, "Host: xml.hotelresb2b.com\n");
  21. fputs($fp, "Content-Type: application/x-www-form-urlencoded\n");
  22. fputs($fp, "Content-Length: " . $length . "\n");
  23. fputs($fp, "\n");
  24. fputs($fp, $xml);
  25. $respuesta = "";
  26. while(!feof($fp)) $respuesta .= fgets($fp);
  27.  
  28. fclose ($fp);
  29. //XML Answer
  30. $xml = substr($respuesta, strpos($respuesta, "<?xml"));
  31. $xml = new SimpleXMLElement($xmlstr); //Simple XML is available from php5
  32. $no_hotels = count($xml->parametros->hoteles->hotel);
  33. for($i=0;$i<$no_hotels;$i++)
  34. {
  35. $hotel = $xml->parametros->hoteles->hotel[$i];
  36. print($hotel->nombre_h); // prints te hotelname etc.
  37. }

Me esta tirando varios errores en esta linea:

Código PHP:
Ver original
  1. $xml = new SimpleXMLElement($xmlstr);

Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /homepages/41/d345211751/htdocs/modulos_creados/hotusa.php:35 Stack trace: #0 /homepages/41/d345211751/htdocs/modulos_creados/hotusa.php(35): SimpleXMLElement->__construct('') #1 /homepages/41/d345211751/htdocs/modules/mod_jumi/tmpl/default.php(12) : eval()'d code(2): include('/homepages/41/d...') #2 /homepages/41/d345211751/htdocs/modules/mod_jumi/tmpl/default.php(12): eval() #3 /homepages/41/d345211751/htdocs/modules/mod_jumi/mod_jumi.php(22): require('/homepages/41/d...') #4 /homepages/41/d345211751/htdocs/plugins/system/advancedmodules/modulehelper.php(196): require('/homepages/41/d...') #5 /homepages/41/d345211751/htdocs/libraries/joomla/document/html/renderer/module.php(84): JModuleHelper->renderModule(Object(stdClass), Array) #6 /homepages/41/d345211751/htdocs/libraries/joomla/document/html/renderer/modules.php(41): JDocumentRendererModule->render(Object(stdClass), Array, NULL) #7 /homepages/41/d345211751/htdocs/librarie in /homepages/41/d345211751/htdocs/modulos_creados/hotusa.php on line 35

Y este lo que contiene $xml (respuesta del servidor) antes de intentar crear el xml:

Código XML:
Ver original
  1. <!DOCTYPE respuesta SYSTEM "http://hotelresb2b.com/xml/dtd/res_paises.dtd">
  2. <respuesta>
  3.     <tipo><![CDATA[5]]></tipo>
  4.     <nombre><![CDATA[Petición de Paises]]></nombre>
  5.     <agencia><![CDATA[GOOD FLY TRAVEL XML @]]></agencia>
  6.     <parametros>
  7.         <paises>
  8.            
  9.             <pais>
  10.                 <codigo_pais><![CDATA[AG]]></codigo_pais>
  11.                 <nombre_pais><![CDATA[ARGENTINA]]></nombre_pais>
  12.             </pais>
  13.             <pais>
  14.                 <codigo_pais><![CDATA[AM]]></codigo_pais>
  15.                 <nombre_pais><![CDATA[ARMENIA]]></nombre_pais>
  16.             </pais>
  17.             <pais>
  18.                 <codigo_pais><![CDATA[AU]]></codigo_pais>
  19.                 <nombre_pais><![CDATA[AUSTRIA]]></nombre_pais>
  20.             </pais>
  21.             <pais>
  22.                 <codigo_pais><![CDATA[BE]]></codigo_pais>
  23.                 <nombre_pais><![CDATA[BELGICA]]></nombre_pais>
  24.             </pais>
  25.             <pais>
  26.                 <codigo_pais><![CDATA[BH]]></codigo_pais>
  27.                 <nombre_pais><![CDATA[BOSNIA AND HERZEGOVINA]]></nombre_pais>
  28.             </pais>
  29.             <pais>
  30.                 <codigo_pais><![CDATA[BR]]></codigo_pais>
  31.                 <nombre_pais><![CDATA[BRASIL]]></nombre_pais>
  32.             </pais>
  33.             <pais>
  34.                 <codigo_pais><![CDATA[BU]]></codigo_pais>
  35.                 <nombre_pais><![CDATA[BULGARIA]]></nombre_pais>
  36.             </pais>
  37.             <pais>
  38.                 <codigo_pais><![CDATA[CV]]></codigo_pais>
  39.                 <nombre_pais><![CDATA[CABO VERDE]]></nombre_pais>
  40.             </pais>
  41.             <pais>
  42.                 <codigo_pais><![CDATA[CL]]></codigo_pais>
  43.                 <nombre_pais><![CDATA[CHILE]]></nombre_pais>
  44.             </pais>
  45.            
  46.            
  47.             <pais>
  48.                 <codigo_pais><![CDATA[HR]]></codigo_pais>
  49.                 <nombre_pais><![CDATA[CROACIA]]></nombre_pais>
  50.             </pais>
  51.             <pais>
  52.                 <codigo_pais><![CDATA[CU]]></codigo_pais>
  53.                 <nombre_pais><![CDATA[CUBA]]></nombre_pais>
  54.             </pais>
  55.             <pais>
  56.                 <codigo_pais><![CDATA[DI]]></codigo_pais>
  57.                 <nombre_pais><![CDATA[DINAMARCA]]></nombre_pais>
  58.             </pais>
  59.             <pais>
  60.                 <codigo_pais><![CDATA[EC]]></codigo_pais>
  61.                 <nombre_pais><![CDATA[ECUADOR]]></nombre_pais>
  62.             </pais>
  63.            
  64.             <pais>
  65.                 <codigo_pais><![CDATA[AE]]></codigo_pais>
  66.                 <nombre_pais><![CDATA[EMIRATOS ARABES UNIDOS]]></nombre_pais>
  67.             </pais>
  68.             <pais>
  69.                 <codigo_pais><![CDATA[SK]]></codigo_pais>
  70.                 <nombre_pais><![CDATA[ESLOVAQUIA]]></nombre_pais>
  71.             </pais>
  72.             <pais>
  73.                 <codigo_pais><![CDATA[SL]]></codigo_pais>
  74.                 <nombre_pais><![CDATA[ESLOVENIA]]></nombre_pais>
  75.             </pais>
  76.             <pais>
  77.                 <codigo_pais><![CDATA[ES]]></codigo_pais>
  78.                 <nombre_pais><![CDATA[ESPAÑA]]></nombre_pais>
  79.             </pais>
  80.             <pais>
  81.                 <codigo_pais><![CDATA[US]]></codigo_pais>
  82.                 <nombre_pais><![CDATA[ESTADOS UNIDOS]]></nombre_pais>
  83.             </pais>
  84.             <pais>
  85.                 <codigo_pais><![CDATA[FI]]></codigo_pais>
  86.                 <nombre_pais><![CDATA[FINLANDIA]]></nombre_pais>
  87.             </pais>
  88.             <pais>
  89.                 <codigo_pais><![CDATA[FR]]></codigo_pais>
  90.                 <nombre_pais><![CDATA[FRANCIA]]></nombre_pais>
  91.             </pais>
  92.             <pais>
  93.                 <codigo_pais><![CDATA[IN]]></codigo_pais>
  94.                 <nombre_pais><![CDATA[GRAN BRETAÑA]]></nombre_pais>
  95.             </pais>
  96.            
  97.             <pais>
  98.                 <codigo_pais><![CDATA[JM]]></codigo_pais>
  99.                 <nombre_pais><![CDATA[JAMAICA]]></nombre_pais>
  100.             </pais>
  101.             <pais>
  102.                 <codigo_pais><![CDATA[KE]]></codigo_pais>
  103.                 <nombre_pais><![CDATA[KENIA]]></nombre_pais>
  104.             </pais>
  105.             <pais>
  106.                 <codigo_pais><![CDATA[LE]]></codigo_pais>
  107.                 <nombre_pais><![CDATA[LETONIA]]></nombre_pais>
  108.             </pais>
  109.             <pais>
  110.                 <codigo_pais><![CDATA[MC]]></codigo_pais>
  111.                 <nombre_pais><![CDATA[MACEDONIA]]></nombre_pais>
  112.             </pais>
  113.             <pais>
  114.                 <codigo_pais><![CDATA[ML]]></codigo_pais>
  115.                 <nombre_pais><![CDATA[MALTA]]></nombre_pais>
  116.             </pais>
  117.             <pais>
  118.                 <codigo_pais><![CDATA[MA]]></codigo_pais>
  119.                 <nombre_pais><![CDATA[MARRUECOS]]></nombre_pais>
  120.             </pais>
  121.  
  122.             <pais>
  123.                 <codigo_pais><![CDATA[CE]]></codigo_pais>
  124.                 <nombre_pais><![CDATA[REPUBLICA CHECA]]></nombre_pais>
  125.             </pais>
  126.             <pais>
  127.                 <codigo_pais><![CDATA[RD]]></codigo_pais>
  128.                 <nombre_pais><![CDATA[REPUBLICA DOMINICANA]]></nombre_pais>
  129.             </pais>
  130.             <pais>
  131.                 <codigo_pais><![CDATA[RM]]></codigo_pais>
  132.                 <nombre_pais><![CDATA[RUMANIA]]></nombre_pais>
  133.             </pais>
  134.             <pais>
  135.                 <codigo_pais><![CDATA[RU]]></codigo_pais>
  136.                 <nombre_pais><![CDATA[RUSIA]]></nombre_pais>
  137.             </pais>
  138.             <pais>
  139.                 <codigo_pais><![CDATA[SM]]></codigo_pais>
  140.                 <nombre_pais><![CDATA[SAN MARINO]]></nombre_pais>
  141.             </pais>
  142.             <pais>
  143.                 <codigo_pais><![CDATA[ST]]></codigo_pais>
  144.                 <nombre_pais><![CDATA[SANTO TOME Y PRINCIPE]]></nombre_pais>
  145.             </pais>
  146.             <pais>
  147.                 <codigo_pais><![CDATA[SE]]></codigo_pais>
  148.                 <nombre_pais><![CDATA[SERBIA]]></nombre_pais>
  149.             </pais>
  150.             <pais>
  151.                 <codigo_pais><![CDATA[ZA]]></codigo_pais>
  152.                 <nombre_pais><![CDATA[SUDAFRICA]]></nombre_pais>
  153.             </pais>
  154.             <pais>
  155.                 <codigo_pais><![CDATA[SU]]></codigo_pais>
  156.                 <nombre_pais><![CDATA[SUECIA]]></nombre_pais>
  157.             </pais>
  158.             <pais>
  159.                 <codigo_pais><![CDATA[SI]]></codigo_pais>
  160.                 <nombre_pais><![CDATA[SUIZA]]></nombre_pais>
  161.             </pais>
  162.             <pais>
  163.                 <codigo_pais><![CDATA[TH]]></codigo_pais>
  164.                 <nombre_pais><![CDATA[TAILANDIA]]></nombre_pais>
  165.             </pais>
  166.             <pais>
  167.                 <codigo_pais><![CDATA[TN]]></codigo_pais>
  168.                 <nombre_pais><![CDATA[TUNEZ]]></nombre_pais>
  169.             </pais>
  170.             <pais>
  171.                 <codigo_pais><![CDATA[TU]]></codigo_pais>
  172.                 <nombre_pais><![CDATA[TURQUIA]]></nombre_pais>
  173.             </pais>
  174.             <pais>
  175.                 <codigo_pais><![CDATA[UY]]></codigo_pais>
  176.                 <nombre_pais><![CDATA[URUGUAY]]></nombre_pais>
  177.             </pais>
  178.         </paises>
  179.         <id>59221af2-ef89-4b61-9078-2c434a0d40d3</id>
  180.     </parametros>
  181. </respuesta>

Una ayuda please que estoy estancado aqui.