Foros del Web » Programando para Internet » PHP »

XML y PHP

Estas en el tema de XML y PHP en el foro de PHP en Foros del Web. Hola, Tengo un problema para leer un archivo XML en PHP. Tengo el siguiente archivo XML: Código: <?xml version="1.0" encoding="utf-8"?> <laboratorio> <nombre>Laboratorio de Telematica 1</nombre> ...
  #1 (permalink)  
Antiguo 06/08/2008, 02:50
 
Fecha de Ingreso: febrero-2008
Mensajes: 6
Antigüedad: 16 años, 2 meses
Puntos: 0
XML y PHP

Hola,

Tengo un problema para leer un archivo XML en PHP.

Tengo el siguiente archivo XML:

Código:
<?xml version="1.0" encoding="utf-8"?>
<laboratorio>
	<nombre>Laboratorio de Telematica 1</nombre>
	<fondo>
		<tamx>415</tamx>
		<tamy>600</tamy>
		<imagen>/images/labo1.jpg</imagen>
	</fondo>
	
	<PC>
		<nombre>tlm11</nombre>
		<posicion>
			<x>10</x>
			<y>20</y>
		</posicion>
               </PC>
               <PC>
               ....
               </PC>
</laboratorio>
Y quiero obtener el nombre del laboratorio, la primera etiqueta que se llama nombre. (Es decir, quiero conseguir "Laboratorio de Telematica 1").

¿Como lo puedo hacer desde un archivo PHP?
Lo he intentado de muchas formas pero no se si lo hago bien.
Gracias
  #2 (permalink)  
Antiguo 06/08/2008, 07:32
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 3 meses
Puntos: 90
Respuesta: XML y PHP

Pediré que te muevan tu mensaje al foto de php...

Igual debes usar un parser y con eso no creo que tengas problemas...hay muchos tutoriale sen google sobre como parsear xml en php...

Saludos
__________________
Esteban Quintana
  #3 (permalink)  
Antiguo 06/08/2008, 19:30
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Respuesta: XML y PHP

Cita:
Iniciado por txurri Ver Mensaje
Lo he intentado de muchas formas pero no se si lo hago bien.
¿y cómo lo has intentado y qué problemas has tenido?.

Te sugiero utilizar simplexml: www.php.net/simplexml

Inténtalo y si tienes problemas mencionalos. Suerte
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #4 (permalink)  
Antiguo 07/08/2008, 03:06
 
Fecha de Ingreso: febrero-2008
Mensajes: 6
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: XML y PHP

Hola,
Ya consegui obtener el contenido de la etiqueta nombre de esta manera:

Código PHP:
$dom domxml_open_file($path.$nombrefich);
$raiz $dom->document_element();            
$matriz $raiz->get_elements_by_tagname('nombre');
$p=$matriz[0]->get_content(); 
Pero ahora el problema que tengo es que quiero obtener el contenido de la etiqueta imagen, que está dentro de la etiqueta fondo:

Código:
<laboratorio>
	<nombre>Laboratorio de Telematica 1</nombre>
	<fondo>
		<tamx>415</tamx>
		<tamy>600</tamy>
		<imagen>/images/labo1.jpg</imagen>
	</fondo>
</laboratorio>
Pero no se como. He probado de esta manera:

Código PHP:
$fondos $raiz ->get_elements_by_tagname('fondo');
$fondo $fondos[0];
$path_imagen=$fondo.last_child(); 
Pero no me sale.
Alguien tiene alguna idea de como lo puedo conseguir?
  #5 (permalink)  
Antiguo 07/08/2008, 06:19
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 2 meses
Puntos: 20
Respuesta: XML y PHP

usa esta clase:
http://magpierss.sourceforge.net/
__________________
Firma:
Es mas dificil para el mono entender que el hombre desciende de el....

PD: Siempre doy karma al que me da una buena respuesta... ;0)
  #6 (permalink)  
Antiguo 07/08/2008, 08:38
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: XML y PHP

Porque no usas SimpleXML?, hay una implementación para PHP4, y puedes hacer algo así:
Código PHP:
$xml simple_xml_load_file('archivo.xml');
echo 
$xml->laboratorio->fondo->imagen
Saludos.
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:15.