SlideShare una empresa de Scribd logo
LENGUAJE DE
ETIQUETADO XML
INTRODUCCION
XML se inició como un subconjunto de SGML (structured generalized markup language),
un standard ISO para documentos estructurados que es sumamente complejo para
poder servir documentos en la web. XML es algo así como SGML simplificado, de forma
que una aplicación no necesita comprender SGML completo para interpretar un
documento, sino sólo el subconjunto que se defina. Los editores SGML, sin embargo,
pueden comprender XML.
CONCEPTO
XML es un Sistema para definir, validar y compartir formatos de documentos en la
Web. Para crear XML se tomaron las mejores partes tanto del lenguaje SGML como del
HTML. La diferencia fundamental entre HTML y XML es que el primero estaba orientado
a la presentación de datos, mientras que XML está orientado al contenido de los datos y
su tratamiento, por lo que cualquier software informático trabajará mejor con XML.
CARACTERISTICAS
XML es un subconjunto de SGML que incorpora las tres características más importantes de este:
• Extensibilidad
• Estructura
• Validación
Orientado a los contenidos no presentación.
Las etiquetas se definen para crear los documentos, no tienen un significado preestablecido.
No es sustituto de HTML.
No existe un visor genérico de XML.
Separa radicalmente el contenido y el formato de presentación
Diseñado para cualquier lenguaje y alfabeto. (encoding)
TIPOS DE ANALIZADOR XML
Para leer y actualizar, crear y manipular un documento XML, se necesita un analizador
XML.
En PHP hay dos tipos principales de analizadores XML:
 Parsers basado en Árbol
Analizadores basados ​​en árboles suben todo el documento en la memoria y
transforma el documento XML en una estructura de árbol. Analiza todo el
documento, y proporciona acceso a los elementos del árbol.
• Simple XML
• DOM
 Parsers basado en eventos
Lee el documento secuencialmente de principio a fin, sin cargarlo en memoria, de
forma que cuando encuentra un elemento se encarga de lanzar su evento asociado.
• Sax
ESTRUCTURA
Un documento XML está formado por datos de caracteres y marcado, el marcado lo
forman las etiquetas:
Estructura
EJEMPLO
<?xml version="1.0"?>
<PELICULA nombre="El Padrino" año=1985>
<PERSONAL>
</DIRECTOR nombre="Georgie Lucar">
</INTERPRETE nombre="Marlon Brando" interpreta-a="Don Corleone">
</INTERPRETE nombre="Al Pacino" interpreta-a="Michael Corleone">
</PERSONAL>
</ARGUMENTO descripción="Pelicula de mafias sicilianas en Estados Unidos">
</PELICULA>
SAX
SAX (Simple API for XML): es un enfoque para analizar documentos XML, pero no
para validarlos. se encarga de recorrer la estructura del documento generando
eventos que corresponden a los elementos que se va encontrando.
Los siguientes tres eventos son los más importantes:
• A partir de un elemento
• Final de un elemento
• los bloques CDATA
DOM
DOM (Document Object Model): representa el archivo en una estructura tipo árbol que usará
para leer el documento.
CARGA DE DOCUMENTOS
– Instanciar DOM $mixml = new DOMDocument(‘1.0’, ‘UTF-8’);
– Cargar archivo físico $mixml->load($path_archivo).
– Cargar string $mixml->loadXML($stringXML);
LECTURA DE NODOS
– Recuperar los tags con un nombre $elemento->getElementsByTagName(‘nom_tag’)
– Cada uno de estos elementos nos llega como ->item(0), ->item(1)
– Podemos iterar los resultados con un bucle foreach
– Valores de atributos con $nodo->getAttribute($nom_atributo)
EDITAR NODOS
– Podemos acceder a los nodeValues y atributos y sobreescribirlos
– Para crear nodo $nuevonodo = new DOMElement($mitag)
– Para crear nodo de texto $nuevonodo->createTextNode($contenido)
– Para añadir nuevos nodos $nodopadre->appendChild($nuevonodo)
BORRAR NODO
– Borrado de nodo $nodo->parentNode->removeChild($nodo);
GUARDAR XML
– Guardado en disco: $documento->save($rutadestino);
– Guardado a string: $stringXML = $documento->saveXML();
<?php
$elementos = new DOMDocument();
$elementos->load("allelements.xml");
$atoms = $elementos->getElementsByTagName("ATOM");
echo "<p>Hay ". $atoms->length . " átomos</p>";
foreach($atoms as $miatom)
{
$nom = $miatom->getElementsByTagName("NAME")->item(0)->nodeValue;
$numatomic = $miatom->getElementsByTagName("ATOMIC_NUMBER")->item(0)->nodeValue;
echo "<p>NUM ATOM: " . $numatomic . " , ELEMENTO: " . $nom . "</p>";
}
?>
<?php
$nuevoxml = new DOMDocument("1.0", "UTF-8");
$raiz = $nuevoxml->appendChild(new DOMElement("root"));
$taginterno = $raiz->appendChild(new DOMElement("interno"));
$text = $taginterno->appendChild(new DOMText("hola hóla"));
$string = $nuevoxml->saveXML();
header("Content-Type: text/xml");
echo $string;
?>
SIMPLE XML
SimpleXML es un analizador basado en árbol que proporciona una manera fácil de obtener el
nombre de un elemento, atributos y contenido textual si sabe estructura o el diseño del
documento XML.
SimpleXML convierte un documento XML en una estructura de datos que se pueden recorrer
como una colección de matrices y objetos. En comparación con el DOM toma menos líneas de
código para leer datos de texto de un elemento.
CARGA DE DOCUMENTOS
– simplexml_load_file($fichero_fisico)
– simplexml_load_string($xmlstring)
– simplexml_import_dom () Esta función acepta DOM con formato XML y el contenido que se
convierte en XML simple.
SimpleXML siempre espera almenos 1 elemento. Si estamos creando un documento
desde 0 deberemos inicializarlo con DOM o con un String.
ACCEDER A LOS NODOS
–echo $xml->name
– Por ejemplo, para recuperar el nombre del átomo 23 es tan fácil como:
$nomatom23 = $xml->ATOM[23]->NAME;
AÑADIR NUEVOS NODOS
Se puede añadir elementos y atributos de forma sencilla en cualquier punto con
addChild($nodo, $contenido) o addAttribute($nombre, $valor)
<?php
$elementos = simplexml_load_file("allelements.xml");
echo "<p>Hay ". count($elementos->ATOM) . " átomos</p>";
foreach($elementos->ATOM as $miatom)
{
$nom = $miatom->NAME;
$numatomic = $miatom->ATOMIC_NUMBER;
echo "<p>NUM ATOM: " . $numatomic . " , ELEMENTO: " . $nom . "</p>";
}
?>
<?php
/* Siempre necesita almenos 1 elemento, podemos usar DOM */
$header = new DOMDocument("1.0", "UTF-8");
$raiz = $header->appendChild(new DOMElement("root"));
$nuevoxml = simplexml_import_dom($header);
/* O podemos usar un string directamente */
$nuevoxml = simplexml_load_string("<?xml version='1.0' encoding='UTF-8'?><root></root>");
$taginterno = $nuevoxml->addChild("interno","hóla hola");
header("Content-Type: text/xml");
echo $nuevoxml->asXML();

Más contenido relacionado

PDF
Colegio+de+estudios+cientificos+y+tecnologicos+del+estado+de+mexico
PDF
Tema 2
PPTX
Bases de datos orientado a objetos Exponer
PDF
Manual instalacion de oracle 11g jesus fernando noh puc
DOCX
Funciones del registro
DOCX
Funciones del registro
PPT
As3 unidad 10 trabajando con xml
Colegio+de+estudios+cientificos+y+tecnologicos+del+estado+de+mexico
Tema 2
Bases de datos orientado a objetos Exponer
Manual instalacion de oracle 11g jesus fernando noh puc
Funciones del registro
Funciones del registro
As3 unidad 10 trabajando con xml

La actualidad más candente (19)

PPTX
SAX (con PHP)
PPTX
Clase xml as3
PPT
Normalizacion
PPTX
Dom
PPTX
Base de datos - Clase 4
PPTX
Sql y vb.pptx1
PPTX
busqueda de informacion en internet 1
PDF
Procesamiento de XML en C#
PPT
Presentacion Sql
PPTX
Reconocimiento del ambiente de trabajo de excel
PPTX
Análisis y diseño ii sql php
PPTX
COMO UTILIZAR SQL EN VISUAL BASIC 6.0
PPTX
Html danny
DOCX
Algoritmo de listas simples completo
DOCX
Omar unidad 07 base de datos
DOCX
Script active directory
PPT
01 estructura
PPTX
Connection
PDF
Lenguaje estructurado de consultas sql
SAX (con PHP)
Clase xml as3
Normalizacion
Dom
Base de datos - Clase 4
Sql y vb.pptx1
busqueda de informacion en internet 1
Procesamiento de XML en C#
Presentacion Sql
Reconocimiento del ambiente de trabajo de excel
Análisis y diseño ii sql php
COMO UTILIZAR SQL EN VISUAL BASIC 6.0
Html danny
Algoritmo de listas simples completo
Omar unidad 07 base de datos
Script active directory
01 estructura
Connection
Lenguaje estructurado de consultas sql
Publicidad

Similar a Xml (20)

PPT
PPTX
Diferencias entre XML y HTML
PDF
PPTX
XML (eXtensible Markup Lenguage) Ejemplo
PPT
PPTX
Archivo xml
PDF
XML Básico
PDF
Guía+básica+de+características+de+archivos+.pdf
PPTX
Archivo xml
PPT
Presentación muy chula ApéndiceTecnologíaXML.ppt
PPTX
Generación de Interfaces a partir de XML
PPT
PPT
Unidad 1 lenguajes de marcas
PDF
Diferencias entre XML y HTML
XML (eXtensible Markup Lenguage) Ejemplo
Archivo xml
XML Básico
Guía+básica+de+características+de+archivos+.pdf
Archivo xml
Presentación muy chula ApéndiceTecnologíaXML.ppt
Generación de Interfaces a partir de XML
Unidad 1 lenguajes de marcas
Publicidad

Último (11)

PPT
laser seguridad a la salud humana de piel y vision en laser clase 4
PPTX
Presentación de un estudio de empresa pp
PPTX
tema-2-interes-.pptx44444444444444444444
PDF
[Ebook gratuito] Introducción a la IA Generativa, Instalación y Configuración...
PDF
Herramientaa de google google keep, maps.pdf
PDF
Frases de Fidel Castro. Compilación Norelys Morales Aguilera
PPTX
presentacion_energias_renovables_renovable_.pptx
PPTX
FUNCIONES DE CLASSROOM EN EL FUNCIONAMIENTO ESCOLAR
PDF
Mesopotamia y Egipto.pptx.pdf historia universal
PPTX
Guia de power bi de cero a avanzado detallado
PDF
CAPACITACIÓN MIPIG - MODELO INTEGRADO DE PLANEACIÓN Y GESTIÓN
laser seguridad a la salud humana de piel y vision en laser clase 4
Presentación de un estudio de empresa pp
tema-2-interes-.pptx44444444444444444444
[Ebook gratuito] Introducción a la IA Generativa, Instalación y Configuración...
Herramientaa de google google keep, maps.pdf
Frases de Fidel Castro. Compilación Norelys Morales Aguilera
presentacion_energias_renovables_renovable_.pptx
FUNCIONES DE CLASSROOM EN EL FUNCIONAMIENTO ESCOLAR
Mesopotamia y Egipto.pptx.pdf historia universal
Guia de power bi de cero a avanzado detallado
CAPACITACIÓN MIPIG - MODELO INTEGRADO DE PLANEACIÓN Y GESTIÓN

Xml

  • 2. INTRODUCCION XML se inició como un subconjunto de SGML (structured generalized markup language), un standard ISO para documentos estructurados que es sumamente complejo para poder servir documentos en la web. XML es algo así como SGML simplificado, de forma que una aplicación no necesita comprender SGML completo para interpretar un documento, sino sólo el subconjunto que se defina. Los editores SGML, sin embargo, pueden comprender XML.
  • 3. CONCEPTO XML es un Sistema para definir, validar y compartir formatos de documentos en la Web. Para crear XML se tomaron las mejores partes tanto del lenguaje SGML como del HTML. La diferencia fundamental entre HTML y XML es que el primero estaba orientado a la presentación de datos, mientras que XML está orientado al contenido de los datos y su tratamiento, por lo que cualquier software informático trabajará mejor con XML.
  • 4. CARACTERISTICAS XML es un subconjunto de SGML que incorpora las tres características más importantes de este: • Extensibilidad • Estructura • Validación Orientado a los contenidos no presentación. Las etiquetas se definen para crear los documentos, no tienen un significado preestablecido. No es sustituto de HTML. No existe un visor genérico de XML. Separa radicalmente el contenido y el formato de presentación Diseñado para cualquier lenguaje y alfabeto. (encoding)
  • 5. TIPOS DE ANALIZADOR XML Para leer y actualizar, crear y manipular un documento XML, se necesita un analizador XML. En PHP hay dos tipos principales de analizadores XML:  Parsers basado en Árbol Analizadores basados ​​en árboles suben todo el documento en la memoria y transforma el documento XML en una estructura de árbol. Analiza todo el documento, y proporciona acceso a los elementos del árbol. • Simple XML • DOM  Parsers basado en eventos Lee el documento secuencialmente de principio a fin, sin cargarlo en memoria, de forma que cuando encuentra un elemento se encarga de lanzar su evento asociado. • Sax
  • 6. ESTRUCTURA Un documento XML está formado por datos de caracteres y marcado, el marcado lo forman las etiquetas: Estructura
  • 7. EJEMPLO <?xml version="1.0"?> <PELICULA nombre="El Padrino" año=1985> <PERSONAL> </DIRECTOR nombre="Georgie Lucar"> </INTERPRETE nombre="Marlon Brando" interpreta-a="Don Corleone"> </INTERPRETE nombre="Al Pacino" interpreta-a="Michael Corleone"> </PERSONAL> </ARGUMENTO descripción="Pelicula de mafias sicilianas en Estados Unidos"> </PELICULA>
  • 8. SAX SAX (Simple API for XML): es un enfoque para analizar documentos XML, pero no para validarlos. se encarga de recorrer la estructura del documento generando eventos que corresponden a los elementos que se va encontrando. Los siguientes tres eventos son los más importantes: • A partir de un elemento • Final de un elemento • los bloques CDATA
  • 9. DOM DOM (Document Object Model): representa el archivo en una estructura tipo árbol que usará para leer el documento. CARGA DE DOCUMENTOS – Instanciar DOM $mixml = new DOMDocument(‘1.0’, ‘UTF-8’); – Cargar archivo físico $mixml->load($path_archivo). – Cargar string $mixml->loadXML($stringXML);
  • 10. LECTURA DE NODOS – Recuperar los tags con un nombre $elemento->getElementsByTagName(‘nom_tag’) – Cada uno de estos elementos nos llega como ->item(0), ->item(1) – Podemos iterar los resultados con un bucle foreach – Valores de atributos con $nodo->getAttribute($nom_atributo) EDITAR NODOS – Podemos acceder a los nodeValues y atributos y sobreescribirlos – Para crear nodo $nuevonodo = new DOMElement($mitag) – Para crear nodo de texto $nuevonodo->createTextNode($contenido) – Para añadir nuevos nodos $nodopadre->appendChild($nuevonodo)
  • 11. BORRAR NODO – Borrado de nodo $nodo->parentNode->removeChild($nodo); GUARDAR XML – Guardado en disco: $documento->save($rutadestino); – Guardado a string: $stringXML = $documento->saveXML();
  • 12. <?php $elementos = new DOMDocument(); $elementos->load("allelements.xml"); $atoms = $elementos->getElementsByTagName("ATOM"); echo "<p>Hay ". $atoms->length . " átomos</p>"; foreach($atoms as $miatom) { $nom = $miatom->getElementsByTagName("NAME")->item(0)->nodeValue; $numatomic = $miatom->getElementsByTagName("ATOMIC_NUMBER")->item(0)->nodeValue; echo "<p>NUM ATOM: " . $numatomic . " , ELEMENTO: " . $nom . "</p>"; } ?> <?php $nuevoxml = new DOMDocument("1.0", "UTF-8"); $raiz = $nuevoxml->appendChild(new DOMElement("root")); $taginterno = $raiz->appendChild(new DOMElement("interno")); $text = $taginterno->appendChild(new DOMText("hola hóla")); $string = $nuevoxml->saveXML(); header("Content-Type: text/xml"); echo $string; ?>
  • 13. SIMPLE XML SimpleXML es un analizador basado en árbol que proporciona una manera fácil de obtener el nombre de un elemento, atributos y contenido textual si sabe estructura o el diseño del documento XML. SimpleXML convierte un documento XML en una estructura de datos que se pueden recorrer como una colección de matrices y objetos. En comparación con el DOM toma menos líneas de código para leer datos de texto de un elemento.
  • 14. CARGA DE DOCUMENTOS – simplexml_load_file($fichero_fisico) – simplexml_load_string($xmlstring) – simplexml_import_dom () Esta función acepta DOM con formato XML y el contenido que se convierte en XML simple. SimpleXML siempre espera almenos 1 elemento. Si estamos creando un documento desde 0 deberemos inicializarlo con DOM o con un String.
  • 15. ACCEDER A LOS NODOS –echo $xml->name – Por ejemplo, para recuperar el nombre del átomo 23 es tan fácil como: $nomatom23 = $xml->ATOM[23]->NAME; AÑADIR NUEVOS NODOS Se puede añadir elementos y atributos de forma sencilla en cualquier punto con addChild($nodo, $contenido) o addAttribute($nombre, $valor)
  • 16. <?php $elementos = simplexml_load_file("allelements.xml"); echo "<p>Hay ". count($elementos->ATOM) . " átomos</p>"; foreach($elementos->ATOM as $miatom) { $nom = $miatom->NAME; $numatomic = $miatom->ATOMIC_NUMBER; echo "<p>NUM ATOM: " . $numatomic . " , ELEMENTO: " . $nom . "</p>"; } ?> <?php /* Siempre necesita almenos 1 elemento, podemos usar DOM */ $header = new DOMDocument("1.0", "UTF-8"); $raiz = $header->appendChild(new DOMElement("root")); $nuevoxml = simplexml_import_dom($header); /* O podemos usar un string directamente */ $nuevoxml = simplexml_load_string("<?xml version='1.0' encoding='UTF-8'?><root></root>"); $taginterno = $nuevoxml->addChild("interno","hóla hola"); header("Content-Type: text/xml"); echo $nuevoxml->asXML();