PHP - Cargar XML desde PHP

 
Vista:

Cargar XML desde PHP

Publicado por The Emulator (24 intervenciones) el 09/01/2008 14:29:26
Hola

He estado mirando como leer un archivo XML desde PHP pero me he encontrado con un problema al tratar de tomar cierta informacion porque no se como hacerlo

Suponiendo que este es el archivo que quiero cargar

<?xml version="1.0"?>
<DatosPersonales>
<Nombre>Pepito Perez</Nombre>
<Hijos num="2">
<Hijo Nombre="Benito" Edad="12"/>
<Hijo Nombre="Maria" Edad="15"/>
</Hijos>
</DatosPersonales>

En resumen es una persona "Pepito Perez" que tiene dos hijos "Benito de 12 anos" y "Maria de 15 Anos"

Con este codigo cargo el archivo a memoria

if($fl=fopen("MiXML.xml",r))
{
while (!feof($fl)) {
$buffer = fgets($fl, 4096);
$data.= $buffer;
}
fclose($fl);
}

Despues de que carge el archivo a memoria lo cargo como si fuera XML
$xml = simplexml_load_string($data);

Ahora ya teniendo todo como XML puedo empesar a tomar la informacion
Si quiero tomar el Nombre lo hago con esto y me funciona

$Nombre=$xml->Nombre;

Hasta aqui voy bien pero ahora no se como tomar el numero de hijos y mucho menos como tomar el nombre de cada hijo y la edad.

Alguien seria tan amable de decirme como se puede hacer eso?

Saludos y gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Cargar XML desde PHP

Publicado por GIOVANNY BURGOS (1 intervención) el 09/05/2009 16:18:05
vale tienes que reorganizar tu xml, si fuera posible con ddt verificarlo...... asi:

<?xml version="1.0"?>

<DatosPersonales>
<padre>Pepito Perez</padre>
<hijos edad ="18">juan veloper</hijos>
<hijos edad ="19">kaskrabias</hijos>
</DatosPersonales>


y en php lo pones ASI:

<?php
if($fl=fopen("texto.xml",r))
{
while (!feof($fl)) {
$buffer = fgets($fl, 10000);
$data.= $buffer;
}
fclose($fl);
}
$xml = simplexml_load_string($data);
$nombre=$xml->padre;
$hijos=$xml->hijos;

print "En resumen es una persona $nombre que tiene dos hijos $hijos[0]%%%%%%%%$hijos[1]"
?>

Y LISTO!!!!!!!!!!!!!!

GRACIAS VALE TU CODIGO MEDIO IDEAS!!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar