Foros del Web » Programando para Internet » PHP »

Mostrar el id del nodo

Estas en el tema de Mostrar el id del nodo en el foro de PHP en Foros del Web. ¿Cómo puedo mostrar el valor del id del nodo direccion de xml con php? El xml es el siguiente: Cita: <?xml version="1.0" encoding="iso-8859-1"?> <date> <mapa ...
  #1 (permalink)  
Antiguo 01/07/2011, 10:55
 
Fecha de Ingreso: junio-2008
Mensajes: 250
Antigüedad: 16 años, 5 meses
Puntos: 1
Mostrar el id del nodo

¿Cómo puedo mostrar el valor del id del nodo direccion de xml con php?
El xml es el siguiente:

Cita:
<?xml version="1.0" encoding="iso-8859-1"?>
<date>

<mapa >
<!--para que los caracteres no den error utilizamos <![CDATA[Contenido]]> -->
<titulo><![CDATA[Título1]]> </titulo>
<direccion id="1">


</direccion>

</mapa>

<mapa >
<!--para que los caracteres no den error utilizamos <![CDATA[Contenido]]> -->
<titulo></titulo>
<direccion id="2">
Hola
</direccion>
</mapa>

</date>

El código PHP es:
Código PHP:
<?php

//$library = simplexml_load_file( 'xml/Referencias.xml' );
//$ruta_fichero="http://www.dominio.com/noticias.xml"; 
function CargarXML($ruta_fichero

$contenido ""
if(
$da fopen($ruta_fichero,"r" )) 

while (
$auxfgets($da,1024)) 

$contenido.=$aux

fclose($da); 

else 

echo 
"Error: no se ha podido leer el archivo <strong>$ruta_fichero</strong>"

//Remplazar caracteres
$contenido=ereg_replace("á","&aacute;",$contenido); 
$contenido=ereg_replace("é","&eacute;",$contenido); 
$contenido=ereg_replace("í","&iacute;",$contenido); 
$contenido=ereg_replace("ó","&oacute;",$contenido); 
$contenido=ereg_replace("ú","&uacute;",$contenido); 
$contenido=ereg_replace("Á","&Aacute;",$contenido); 
$contenido=ereg_replace("É","&Eacute;",$contenido); 
$contenido=ereg_replace("Í","&Iacute;",$contenido); 
$contenido=ereg_replace("Ó","&Oacute;",$contenido); 
$contenido=ereg_replace("Ú","&Uacute;",$contenido); 
$contenido=ereg_replace("Ñ","&Ntilde;",$contenido); 
$contenido=ereg_replace("ñ","&ntilde;",$contenido);
$contenido=ereg_replace("º","",$contenido);  

$tagnames = array ("direccion""titulo" ); 

if (!
$xml domxml_open_mem($contenido)) 

echo 
"Ha ocurrido un error al procesar el documento<strong> \"$ruta_fichero\"</strong> a XML <br>"
exit; 

else 

$raiz $xml->document_element(); 

$tam=sizeof($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


$matriz=CargarXML("xml/Mapas.xml" ); 

$num_noticias=sizeof($matriz); 
for(
$i=0;$i<$num_noticias;$i++) 

echo 

<font face="Calibri" size="2" color="#000000"><b>'
.$matriz[$i]["direccion"].'</b><br>
</font>'


 




?>
  #2 (permalink)  
Antiguo 01/07/2011, 15:26
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 9 meses
Puntos: 96
Respuesta: Mostrar el id del nodo

Saludos

Utiliza SimpleXML!
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 01/07/2011, 15:35
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años, 6 meses
Puntos: 322
Respuesta: Mostrar el id del nodo

Además, por qué tanto str_replace?
Con htmlentities() basta =/
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies

Etiquetas: nodo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:18.