Espacio Daycry - Espacio de programación

  • Inicio
  • Categorias
    • - Codeigniter
    • - Symfony
    • - HTML5
    • - Linux / Ubuntu
    • - PHP
    • - Jquery
  • PortFolio - Proyectos Codeiniter
    • - Encuestas Online
    • - Estadísticas - GLPI
    • - Gestión de colas
    • - Web Service - REST

jueves, 21 de agosto de 2014

PHP - Leer ficheros con SimpleXML_load_file

Posted by daycry at 23:19 Labels: PHP

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

Código completo



Código PHP


Código CSS


Archivo XML
























Tweet

No hay comentarios :

Publicar un comentario

Entrada más reciente Entrada antigua Inicio
Suscribirse a: Enviar comentarios ( Atom )

Sígueme en las Redes Sociales



Follow @daycry9

Daycry web


Donaciones

Suscribirse a

Entradas
Atom
Entradas
Comentarios
Atom
Comentarios

Datos personales

daycry
Ver todo mi perfil

Entradas populares

  • Crear archivos PHP ejecutables por terminal UBUNTU
    En este apartado vamos a explicar como ejercutar archivos PHP a través del terminal de Ubuntu. Lo primero que tendríamos que hacer es inst...
  • Pâginación PHP con Librería Zebra Pagination
    En este blog voy a comentar un tema que se utilizan en casi todas las páginas web que existen, y es el tema de la paginación. La paginaci...
  • PHPExcel - Codeigniter
    Este post trata de la integración de la librería PHPExcel en Codeigniter, aunque se podría aplicar a cualquier librería, como por ejemplo mP...
  • PHP- Operaciones con fechas - Sumar Horas, minutos y segundos
    Ejemplo para añadir o sumar un número determinado de hora/s, minuto/s, segundo/s a una fecha en php. Con la función strtotime se puede ...
  • Codeigniter - Múltiples conexiones a base de datos
    Este tema es uno de los temas primordiales sobre el framework Codeigniter, ya que en alguna ocación nos hemos visto obligados a recoger dato...

© Espacio Daycry - Espacio de programación 2013 . Powered by Bootstrap , Blogger templates and RWD Testing Tool