Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/02/2009, 07:10
hmv
 
Fecha de Ingreso: abril-2005
Mensajes: 323
Antigüedad: 19 años, 1 mes
Puntos: 0
Busqueda Leer contenido de XML con PHP

Buenos días,
Soy novato total en XMl y estoy intentando leer el contenido de un XML que obtengo de una pag externa, pero el problema es que la etiqueta <name> se encuentra en diferentes niveles, de esta manera
Código PHP:
<?php
$contenido
='
<?xml version="1.0" ?>
<hotel_list>
    <hotel>
      <name>Hotel Pepito</name>     
          <subtitle>Barcelona</subtitle>
          <characteristics>
                <geographics>
                     <geographic>
                           <name>City</name>            
                     </geographic>
               </geographics> 
          </characteristics>
    </hotel>
    <hotel>
          <name>Don Carlistos</name>
          <subtitle>Barcelona</subtitle>
          <characteristics>
                <geographics>
                     <geographic>
                           <name>City</name>          
                     </geographic>
               </geographics> 
          </characteristics>
    </hotel>'
;

//Para leer el XML

function CargarXML($contenido
{     
$contenido=str_replace('<?xml version="1.0"?>','<?xml version="1.0" encoding="ISO-8859-1"?>',$contenido);

$contenido=utf8_decode($contenido);
    
$tagnames = array ("name");

if (!
$xml domxml_open_mem($contenido)) 
 { 
      echo 
"Error al procesar el  XML <br>"
      exit; 
 } 
else 
    { 
         
$raiz $xml->document_element(); 
         
$tam=count($tagnames); 
                        
          for(
$i=0$i<$tam$i++) 
    { 
         
$nodo $raiz->get_elements_by_tagname($tagnames[$i]); 
             
$j=0
         foreach (
$nodo as $etiqueta
             { 
                 
$matriz[$j][$tagnames[$i]]=$etiqueta->get_content(); 
                 
$j++; 
             } 
    } 
        return 
$matriz
  } 
         
}
Como le puedo decir que me devuelva los nombres de los hoteles y no me devuelva todos los tags <name>.

Muchas gracias

Última edición por jam1138; 10/02/2009 a las 18:33 Razón: Corrijo presentación de código