Tutorial PHP XML: crear, analizar, leer con ejemplo

Tabla de contenido:

Anonim

¿Qué es XML?

XML es el acrónimo de Extensible Markup Language.

XML se utiliza para estructurar, almacenar y transportar datos de un sistema a otro.

XML es similar a HTML.

Utiliza etiquetas de apertura y cierre.

A diferencia de HTML, XML permite a los usuarios definir sus propias etiquetas.

En este tutorial, aprenderá:

  • ¿Qué es DOM?
  • Analizadores XML
  • ¿Por qué utilizar XML?
  • Ejemplo de documento XML
  • Cómo leer XML usando PHP
  • Cómo crear un documento XML usando PHP

¿Qué es DOM?

DOM es el acrónimo de Document Object Model.

Es un estándar de plataforma cruzada e idioma neutral que define cómo acceder y manipular datos en;

  • HTML
  • XHTML
  • XML

DOM XML se utiliza para acceder y manipular documentos XML. Considera el documento XML como una estructura de árbol.

Analizadores XML

Un analizador XML es un programa que traduce el documento XML en un objeto de modelo de objeto de documento XML (DOM).

El objeto DOM XML se puede manipular mediante JavaScript, Python y PHP, etc.

La palabra clave CDATA, que es el acrónimo de Datos de caracteres (no analizados), se utiliza para ignorar caracteres especiales como “<,>” al analizar un documento XML.

¿Por qué utilizar XML?

  • Los servicios web como SOAP y REST utilizan el formato XML para intercambiar información. Aprender qué es XML y cómo funciona le dará una ventaja competitiva como desarrollador, ya que las aplicaciones modernas hacen un uso intensivo de los servicios web.
  • Los documentos XML se pueden utilizar para almacenar los ajustes de configuración de una aplicación.
  • Le permite crear sus propias etiquetas personalizadas que lo hacen más flexible.

Ejemplo de documento XML

Supongamos que está desarrollando una aplicación que obtiene datos de un servicio web en formato XML.

A continuación se muestra un ejemplo de cómo se ve el documento XML.

Joe Paul
CEOTasha Smith
Finance Manager

AQUÍ,

  • ” Especifica la versión xml que se utilizará y la codificación
  • ” es el elemento raíz.
  • … ” son los elementos secundarios de administración y ventas, respectivamente.

Cómo leer XML usando PHP

Ahora escribamos el código que leerá el documento XML de los empleados y mostrará los resultados en un navegador web. Index.php


Employees Listing

';$list = $xml->record;for ($i = 0; $i < count($list); $i++) {echo 'Man no: ' . $list[$i]->attributes()->man_no . '
';echo 'Name: ' . $list[$i]->name . '
';echo 'Position: ' . $list[$i]->position . '

';}?>

AQUÍ,

  • "$ Xml = simplexml_load_file ('empleados.xml');" utiliza la función simplexml_load_file para cargar el nombre de archivo employee.xml y asignar el contenido a la variable de matriz $ xml.
  • "$ Lista = $ xml-> registro;" obtiene el contenido del nodo de registro.
  • "For ($ i = 0; $ i
  • "$ Lista [$ i] -> atributos () -> man_no;" lee el atributo man_no del elemento
  • "$ Lista [$ i] -> nombre;" lee el valor del elemento secundario del nombre
  • "$ Lista [$ i] -> posición;" lee el valor del elemento secundario de posición

Probando nuestra aplicación

Suponiendo que guardó el archivo index.php en la carpeta phptus / xml, busque la URL http: //localhost/phptuts/xml/index.php

Cómo crear un documento XML usando PHP

Ahora veremos cómo crear un documento XML usando PHP.

Usaremos el ejemplo anterior en el diagrama de árbol DOM.

El siguiente código utiliza PHP integrado en la clase DOMDocument para crear un documento XML.

encoding = 'utf-8';$dom->xmlVersion = '1.0';$dom->formatOutput = true;$xml_file_name = 'movies_list.xml';$root = $dom->createElement('Movies');$movie_node = $dom->createElement('movie');$attr_movie_id = new DOMAttr('movie_id', '5467');$movie_node->setAttributeNode($attr_movie_id);$child_node_title = $dom->createElement('Title', 'The Campaign');$movie_node->appendChild($child_node_title);$child_node_year = $dom->createElement('Year', 2012);$movie_node->appendChild($child_node_year);$child_node_genre = $dom->createElement('Genre', 'The Campaign');$movie_node->appendChild($child_node_genre);$child_node_ratings = $dom->createElement('Ratings', 6.2);$movie_node->appendChild($child_node_ratings);$root->appendChild($movie_node);$dom->appendChild($root);$dom->save($xml_file_name);echo "$xml_file_name has been successfully created";?>

AQUÍ,

  • "$ Dom = nuevo DOMDocument ();" crea una instancia de la clase DOMDocument.
  • "$ Dom-> encoding = 'utf-8';" establece la codificación del documento en utf-8
  • "$ Dom-> xmlVersion = '1.0';" especifica el número de versión 1.0
  • "$ Dom-> formatOutput = true;" asegura que la salida esté bien formateada
  • "$ Root = $ dom-> createElement ('Películas');" crea el nodo raíz llamado Películas
  • "$ Attr_movie_id = new DOMAttr ('movie_id', '5467');" define el atributo ID de película del nodo Películas
  • “$ Child_node_element_name = $ dom-> createElement ('ElementName', 'ElementValue')” crea el nodo hijo del nodo Películas. ElementName especifica el nombre del elemento, por ejemplo, Título. ElementValue establece el valor del nodo secundario, por ejemplo, The Campaign.
  • "$ Root-> appendChild ($ movie_node);" agrega los elementos movie_node al nodo raíz Movies
  • "$ Dom-> appendChild ($ root);" agrega el nodo raíz al documento XML.
  • "$ Dom-> save ($ xml_file_name);" guarda el archivo XML en el directorio raíz del servidor web.
  • “Echo ''. $ nombre_archivo_xml. ' se ha creado correctamente'; " crea el enlace al archivo XML.

Probando nuestra aplicación

Suponiendo que guardó el archivo create_movies_list en la carpeta phptuts / xml, busque la URL http: //localhost/phptuts/xml/create_movies_list.php

Haga clic en el enlace movies_list_xml

Resumen

  • XML es el acrónimo de Extensible Markup Language
  • XML se puede utilizar para intercambiar información entre sistemas o almacenar ajustes de configuración de una aplicación, etc.
  • DOM es el acrónimo de Document Object Model. XML DOM ve el documento XML como una estructura de árbol
  • Un analizador XML es un programa que traduce XML un documento XML en un documento de estructura de árbol DOM.
  • CDATA se utiliza para ignorar caracteres especiales al analizar documentos XML.
  • PHP usa simplexml_load_file para leer documentos XML y devolver los resultados como una matriz numérica
  • Clase PHP DOMDocument para crear archivos XML.