Ver Mensaje Individual
  #4 (permalink)  
Antiguo 04/01/2012, 09:01
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: leer un archivo xml que esta dentro de un archivo zip

No hace falta que descomprimas nada. podés hacer esto
Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <title>Leer XML desde dentro de un zip sin descomprimirlo</title>
  6. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  7. </head>
  8. <body>
  9. <div>
  10. <?php
  11. $zip = zip_open("feed2.zip");
  12. if($zip){
  13. while ($zip_entry = zip_read($zip)){
  14.  
  15. echo "<p>Nombre del archivo: " . zip_entry_name($zip_entry) . "<br />\n";
  16.  
  17. if(zip_entry_open($zip, $zip_entry)){
  18. echo "Contenido del archivo</p>\n";
  19. $contenido = zip_entry_read($zip_entry);
  20. echo "<pre>" . htmlentities($contenido) . "</pre>";
  21. echo "<p>Leerlo con  simplexml_load_string()</p>\n";
  22. $string = <<< XML
  23. $contenido
  24. XML;
  25. $xml = simplexml_load_string($string);
  26.  
  27. $salida ="";
  28. foreach($xml->nota as $item){
  29. $autor= $item->autor;
  30. $contenido= $item->contenido;
  31. $fecha= $item->fecha;
  32. $titulo= $item->titulo;
  33. $salida .= "Autor: " . $autor . "<br /><b>$titulo</b> [$fecha]<br />" . strip_tags($contenido) . "<hr />\n";
  34. }
  35. echo $salida;
  36.      
  37. zip_entry_close($zip_entry);
  38. }
  39. }
  40. // cerrar el zip
  41. zip_close($zip);
  42. }
  43. ?>
  44. </div>
  45. </body>
  46. </html>

Este es xml que tendrias que zipear para hacer la demo
feed2.xml

Código XML:
Ver original
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <notas>
  3. <nota>
  4.     <autor>luis rodriguez</autor>
  5.     <fecha>05/12/2011 12:21:59</fecha>
  6.     <titulo>ejemplo de xml parser</titulo>
  7.     <contenido><![CDATA[ este es el contenido de rodriguez ]]></contenido>
  8. </nota>
  9. <nota>
  10.     <autor>victor martinez</autor>
  11.     <fecha>05/12/2011 12:21:59</fecha>
  12.     <titulo>ejemplo de xml parser</titulo>
  13.     <contenido><![CDATA[ este es el contenido de martinez ]]></contenido>
  14. </nota>
  15. </notas>

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.