Tutorial PHP

PHP INICIO Introducción PHP Instalación de PHP Sintaxis PHP Comentarios PHP Variables PHP PHP Echo / Imprimir Tipos de datos PHP Cadenas PHP Números PHP Matemáticas PHP Constantes PHP Operadores PHP PHP Si... Más... Elseif Cambio de PHP Bucles de PHP Funciones PHP Matrices de PHP Superglobales de PHP PHP expresión regular

Formularios PHP

Manejo de formularios PHP Validación de formulario PHP Formulario PHP requerido Formulario PHP URL/Correo electrónico Formulario PHP completo

PHP Avanzado

Fecha y hora PHP PHP Incluir Manejo de archivos PHP Archivo PHP Abrir/Leer Archivo PHP Crear/Escribir Carga de archivos PHP Cookies PHP Sesiones PHP Filtros PHP Filtros PHP avanzados Funciones de devolución de llamada de PHP PHPJSON Excepciones de PHP

POO de PHP

PHP ¿Qué es la programación orientada a objetos? Clases PHP/Objetos Constructor PHP Destructor PHP Modificadores de acceso de PHP Herencia de PHP Constantes PHP Clases abstractas de PHP Interfaces PHP Características de PHP Métodos estáticos de PHP Propiedades estáticas de PHP Espacios de nombres de PHP Iterables de PHP

Base de datos MySQL

Base de datos MySQL Conexión MySQL MySQL Crear base de datos Crear tabla MySQL MySQL Insertar datos MySQL Obtener la última identificación MySQL Insertar Múltiples MySQL preparado Datos seleccionados de MySQL mysql donde MySQL Ordenar por MySQL Eliminar datos Datos de actualización de MySQL Límite de datos de MySQL

PHPXML _

Analizadores PHP XML Analizador PHP SimpleXML PHP SimpleXML - Obtener PHP XML Expatriados PHP XML DOM

PHP -AJAX

Introducción a AJAX AJAXPHP Base de datos AJAX XML AJAX Búsqueda en vivo de AJAX Encuesta AJAX

Ejemplos de PHP

Ejemplos de PHP Compilador PHP Cuestionario de PHP Ejercicios PHP Certificado PHP

Referencia PHP

Descripción general de PHP Matriz de PHP Calendario PHP Fecha PHP Directorio PHP Error PHP Excepción PHP Sistema de archivos PHP Filtro PHP PHPFTP PHPJSON Palabras clave PHP PHP Libxml Correo PHP Matemáticas PHP PHP misceláneo PHP MySQLi Red PHP Control de salida de PHP PHP expresión regular PHP SimpleXML flujo PHP Cadena PHP Manejo de variables de PHP Analizador PHP XML código postal de PHP Zonas horarias de PHP

Analizador PHP XML DOM


El analizador DOM incorporado hace posible procesar documentos XML en PHP.


El analizador XML DOM

El analizador DOM es un analizador basado en árboles.

Mire la siguiente fracción de documento XML:

<?xml version="1.0" encoding="UTF-8"?>
<from>Jani</from>

El DOM ve el XML anterior como una estructura de árbol:

  • Nivel 1: Documento XML
  • Nivel 2: elemento raíz: <de>
  • Nivel 3: Elemento de texto: "Jani"

Instalación

Las funciones del analizador DOM son parte del núcleo de PHP. No se necesita instalación para usar estas funciones.


El archivo XML

El archivo XML a continuación ("note.xml") se utilizará en nuestro ejemplo:

<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>


XML de carga y salida

Queremos inicializar el analizador XML, cargar el xml y generarlo:

<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");

print $xmlDoc->saveXML();
?>

La salida del código anterior será:

Tove Jani Reminder Don't forget me this weekend!

Si selecciona "Ver código fuente" en la ventana del navegador, verá el siguiente código HTML:

<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

El ejemplo anterior crea un DOMDocument-Object y carga el XML de "note.xml" en él.

Luego, la función saveXML() coloca el documento XML interno en una cadena, para que podamos generarlo.


Bucle a través de XML

Queremos inicializar el analizador XML, cargar el XML y recorrer todos los elementos del elemento <note>:

<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");

$x = $xmlDoc->documentElement;
foreach ($x->childNodes AS $item) {
  print $item->nodeName . " = " . $item->nodeValue . "<br>";
}
?>

La salida del código anterior será:

#text =
to = Tove
#text =
from = Jani
#text =
heading = Reminder
#text =
body = Don't forget me this weekend!
#text =

En el ejemplo anterior, ve que hay nodos de texto vacíos entre cada elemento.

Cuando se genera XML, a menudo contiene espacios en blanco entre los nodos. El analizador XML DOM los trata como elementos ordinarios y, si no los conoce, a veces causan problemas.


Si desea obtener más información sobre XML DOM, visite nuestro tutorial de XML .