sábado, 7 de mayo de 2011

Leer un XML en PHP

Bien como sabemos como crear un xml valido ahora lo que nos falta es leerlo por medio de php , asi que usaramos la POO para dejarlo mas nitido .

El ejemplo consiste en leer un xml parecido al que creamos en el post anterio solo que lo haremos con una clase generica que lee cualquier xml y te lee los valores de las etiquetas , ojo no los atributos de las etiquetas.

Como es que funciona esto veamos la estructura del XML a leer.

Como vemos en la imagen es casi igual al que creamos y esta estructura es la usaremos para hacer unas cosas mas adelante .

Ahora veamos la clase generica que lee el xml

La funcion espera parametros un array con el nombre de todas las etiquetas que contiene el siguiente parametro que es el nodo padre luego el nombre del archivo en formato strign .

Primero verificamos si el archivo existe sino mostramos un error el cual diga q no se hallo , si existe se manda a llamar la funcion privada a la cual le mandamos un array el nodo padre un numero inicializado a 0 mas el nombre del archivo.

Luego ejecutamos la funcion simplexml para cargar el archivo esta ya viene con php y le pasamos el nombre del archivo luego con un if verficamos que sea un xml valido o bien formado si no es asi damos un mensaje de error sino abrimos un foreach con la variable de la carga del archivo indicando el nodo padre luego hacemos un for para recorrer todas las etiquetas que vienen en el arreglo y se lo asignamos a otro arreglo el cual lo retornaremos al final de la funcion .

Ahora veamos como sacamos los resultados de ese array y tambien como mandarle los parametros a la funcion.

Bien primero hacemos un require once con el archivo de la clase generica luego creamos los parametros que le vamos a enviar a la funcion tambien instanciamos la clase y llamamos al metodo y a ese metodo le igualamos el retorno de la funcion como sabemos que sera un array .

luego para sacar el resultado de la funcion lo llamamos como un array asociativo con el cual bastara llamarlo con el nombre de la etiqueta y traera el valor de la etiqueta , ojo no los atributos dentro de la etiqueta.


Y el resultado sera este con el cual solo basta crear tu xml ponerle los valores constantes que queres y usar esa clase generica y listo tu aplicacion sera mas limpia , bien algunos se preguntaran para que voy a leer un xml con valores mejor se los pongo de un solo al sistema como variables o constantes , bien como nosotros tenemos que aprender a ser limpios en nuestra aplicacion y separar por capas el sistema no es recomendable hacer eso mas adelante veremos una forma util y profesional de usar los xml . estate pendiente....

Descargar

comenten no sean bayuncos

No hay comentarios:

Publicar un comentario