Comunidad de diseño web y desarrollo en internet online

Leer XML con Atributos

Citar            
MensajeEscrito el 11 Mar 2010 04:35 am
Hola, estoy empezando con PHP y tengo un problema modificando un codigo que baje de internet:

<?php
$doc = new DOMDocument();
$doc->load('http://weather.yahooapis.com/forecastrss?p=ITXX0042&u=c');
$channel = $doc->getElementsByTagName("channel");
foreach($channel as $chnl)
{
$item = $chnl->getElementsByTagName("item");
foreach($item as $itemgotten)
{
$describe = $itemgotten->getElementsByTagName("description");
$description = $describe->item(0)->nodeValue;
echo $description;
}
}
?>

Como puede verse facilmente este codigo lee la etiqueta <description> del XML cargado en $doc. La cuestion es que dentro de ese XML yo quiero leer la etiqueta:

<yweather:condition text="Light Snow" code="14" temp="0" date="Thu, 11 Mar 2010 3:20 am CET" />

Esta etiqueta tiene atributos, text, code, temp y date. No se que debo modificar para poder leer alguno de estos atributos. Gracias!

Por djsoftlayer

16 de clabLevel



 

chrome
Citar            
MensajeEscrito el 11 Mar 2010 01:37 pm

Por pablofmorales

Claber

103 de clabLevel

1 tutorial

Genero:Masculino  

Web developer

firefox
Citar            
MensajeEscrito el 11 Mar 2010 02:01 pm
Ejemplo:

Código :

if(!($I = simplexml_load_file("http://mipagina.cl/xml")))
    die("Error al obtener el archivo");

foreach($I as $i)
{
    list($n) = $i->attributes();
    echo "<li>$n -  $i</li>";
}

Por york3rs

Claber

561 de clabLevel

1 tutorial

Genero:Masculino  

LA___Chile

firefox
Citar            
MensajeEscrito el 11 Mar 2010 09:02 pm

Por djsoftlayer

16 de clabLevel



 

chrome
Citar            
MensajeEscrito el 12 Mar 2010 03:18 pm
Te dejo un tuto... asi puede aprender.

http://www.nociondigital.com/webmasters/php-tutorial-recorrer-archivo-xml-para-lector-rss-usando-la-extension-simplexml-detalle-11.html

Por york3rs

Claber

561 de clabLevel

1 tutorial

Genero:Masculino  

LA___Chile

firefox
Citar            
MensajeEscrito el 13 Mar 2010 01:01 am
porque con este codigo si puedo ver lo que esta dentro de <title>

<?php
$xml = file_get_contents('http://weather.yahooapis.com/forecastrss?p=ITXX0042&u=c');
$xmlobj = new SimpleXMLElement($xml);
$data = 'title';
echo $data;
echo $xmlobj->channel->item[0]->$data;
//echo $xmlobj->channel->item[0]->$data->attributes()->code;
?>

pero si lo uso con una etiqueta que tenga ":" no me arroja nada? , por ejemplo, si $data = 'geo:lat';

Por djsoftlayer

16 de clabLevel



 

chrome
Citar            
MensajeEscrito el 13 Mar 2010 02:39 am
la forma mas simple para debuggear algo es con un var_dump o print_r del objeto que queres ver

Por pablofmorales

Claber

103 de clabLevel

1 tutorial

Genero:Masculino  

Web developer

safari

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.