SimpleXML: Trabajar con namespaces
Veamos cómo trabajar con namespaces.
Dado que en XML los nombres de las etiquetas (elementos) son definidos por el desarrollador, se suelen utilizar prefijos para evitar conflictos entre documentos XML procedentes de distintas fuentes. Cuando se utilizan prefijos se debe especificar el XML namespace (espacio de nombres XML) mediante la etiqueta xmlns. Veamos cómo acceder a los elementos namespace de un documento XML similar a:
<?xml version="1.0" encoding="UTF-8"?> <feed xmlns:media="http://search.yahoo.com/mrss/"> ... <entry> <media:group> <media:title type="plain">10 Years - Wasteland</media:title> <media:player url="http://www.domain.com/watch?v=ciuca"/> </media:group> </entry> ... </feed>
Por ejemplo, para obtener media:title y media:player el código será:
<?php $feed = "http://www.domain.com/feed/info.xml"; // volcar el feed en un objeto SimpleXML $xml = simplexml_load_file($feed); $media = $xml->entry->children('http://search.yahoo.com/mrss/'); echo $media->group->title; echo $media->group->player->attributes()->url; ?>
Deja un comentario
