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
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


0