Estas dos
tecnologías juntas, XML y PHP pueden funcionar de una forma muy similar a como
puede trabajar PHP con una base de datos.
A continuación vamos a paersear XML con PHP5 la meta para la ayuda de XML en PHP 5 era no sólo proporcionar
una base sólida de los sistemas de herramienta para trabajar de XML, pero
también proporcionar una cierta unidad entre los sistemas de herramienta ellos
mismos.
Veamos unos
ejemplos:
Documento XML
<?xml version=”1.0″?>
<article>
<name>XML in PHP 5
<author>Juan Perez
</arti
Ejemplo de Uso
en PHP 4
<?php
$doc = domxml_open_file(‘article.xml’);
$root = $doc->document_element();
$node = $root->first_child();
while ($node) {
if (($node->node_type() ==
XML_ELEMENT_NODE) &&
($node->node_name() == ‘name’))
{
$content = $node->first_child();
$output =
$content->node_value();
print “Output: $output
“;
break;
}
$node = $node->next_sibling();
}
?>
Ejemplo de Uso
en PHP 5
<?php
$doc = new DOMDocument();
$doc->load(‘article.xml’);
$root = $doc->documentElement;
$node = $root->firstChild;
while ($node) {
if (($node->nodeType ==
XML_ELEMENT_NODE) &&
($node->nodeName == ‘name’)) {
$content = $node->firstChild;
$output = $content->nodeValue;
print “Output: $output
“;
break;
}
$node = $node->nextSibling;
}
?>
Una de las pocas diferencias que se pueden apreciar es el cambio de
nomenclatura en algunos aspectos del códgio: $node->first_child(); (PHP4) => $node->firstChild; (PHP5).
SimpleXML
Hemos visto que DOM nos
permite acceder y manipular los documentos XML
de la manera que necesitamos, obviamente esto tiene un precio y este precio
está en que la curva de aprendizaje es más pronunciada que en el uso de otras
herramientas. SimpleXML nos permite manejar los documentos XML de una manera
sencilla e intuitiva, como bien dice su nombre.
La forma en la que trabaja la función es sencilla, convierte el
documento XML pasado en el parámetro de la función en un objeto de la clase simplexml_element si no presenta
errores:
<?
$noticias = simplexml_load_file(‘rss.xml’);
foreach ($noticias->item as $noticia) {
echo
"<b>$noticia->name:</b> ";
echo
"$noticia->author<br><br>\n";
}
?>
Cómo se puede ver ahorramos un gran número de líneas
de código.
Pero esta extensión es aparte de sencilla una
bendición para los desarrolladores que gustan de recuperar información de
servicios externos. En muy pocas líneas de código podemos por ejempo usar
SimpleXML para acceder a una consulta de búsqueda realizada a Yahoo y recuperar
el primer resultado.
<?php
$terms =
urlencode(‘tuwebdesarrollada’);
$url =
‘http://api.search.yahoo.com/WebSearchService/V1/webSearch’;
$query =
‘?appid=demo&query=’.$terms.’&results=1′;
$serviceurl = $url.$query;
$results = simplexml_load_file($serviceurl);
print $results->Result->Title.”
“;
print $results->Result->DisplayUrl.”
“;
?>
XMLReader
El trabajo con XMLReader es realmente simple. No hay necesidad de
ocuparse de utilidades complejas, únicamente debes indicar el fichero a leer y
mediante diferentes condiciones indicar las acciones a realizar.
<?php
$reader = new
XMLReader();
$reader->open(‘article.xml’);
while
($reader->read()) {
if ($reader->nodeType
== XMLREADER::ELEMENT) {
print $reader->localName;
}
}
?>
XMLWriter
Como su nombre indica se trata de la
función análoga a la anterior, seguro que alguna vez has deseado encontrar una
manera sencilla e intuitiva para crear tus documentos XML. XMLWriter ha sido
creada para ese específico propósito.
<?php
$writer = new XMLWriter();
$writer->openURI(‘php://output’);
$writer->startDocument(“1.0″);
$writer->startElement(“example”);
$writer->startElement(“specchars”);
$writer->text(‘&’);
$writer->endDocument();
$writer->flush();
?>
<?xml version=”1.0″?>
<example><specchars>&</specchars></example>
Una de las
mayores ventajas del uso de esta función a la hora de crear nuestros documentos
XML es que XMLWriter se encarga de comprobar la correcta estructura del
documento y el formato de los datos.
Artículos similares
blogtreamthemehouse
Qué se puede hacer con XML y PHP
Artículos similares
blogtreamthemehouse
Qué se puede hacer con XML y PHP
0 comentarios:
Publicar un comentario