Ejemplo para leer un archivo XML
<?xml version="1.0" encoding="UTF-8" ?> <estudiantes> <estudiante estado=Activo"> <identificacion tipo=Extranjero">1-2345-6789</identificacion> <nombre>Jordi</nombre> <apellidos>Daycry</apellidos> <genero>Masculino</genero> <nota>90</nota> </estudiante> </estudiantes>
El contenido del archivo XML lo he reducido para no hacer muy larga la entrada, pero la idea es que contenga una lista de varios elementos estudiante.
Para realizar la lectura del fichero XML vamos a utilizar el siguiente código, ya que con una sola misma linea podemos realizar la lectura, posteriormente se realiza el tratado de datos para imprimirlos por pantalla.
<?php //cargamos el fichero XML if( $xml = @simplexml_load_file('estudiantes.xml') ){ //seleccionamos los nodos $estudiantes = $xml->estudiante; //recorremos los elementos con un bucle foreach( $estudiantes as $estudiante ){ echo" <tr> <td>". $estudiante->identificacion." <em>(".$estudiante->identificacion["tipo"].")</em>". '</td>' <td>".utf8_decode($estudiante->nombre)."</td> <td>".utf8_decode($estudiante->apellidos)."</td> <td>".$estudiante->genero."</td> <td>".$estudiante['estado']."</td> </tr> "; } //liberamos el objeto que contiene los datos del xml unset($xml); }else{ echo" <tr> <td colspan='5' align='center'>Error al leer el archivo.</td> </tr> "; } ?>
Utilizo la función utf8_decode para que se impriman bien los acentos de los elementos que los contengan.
Como podéis observar para leer los atributos de un nodo, realizamos la lectura como si fuera un array.
<identificacion tipo="Extranjero>1-2345-6789</identificacion> $estudiante->identificacion["tipo"] //echo Extranjero $estudiante->identificacion // echo 1-2345-6789
No hay comentarios:
Publicar un comentario