martes, 2 de abril de 2013

XML y PHP




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

0 comentarios:

Publicar un comentario



 
contador de visitas