Seguro que se ha tratado en otro tema en el foro pero he buscado de arriba a abajo y no he encontrado nada.
Esoy tratando de parsear unos datos de un fichero RSS, como este
Código:
He probado con parseRSS y CURL y funciona bien con <title>, <descriptcion> etc pero no se como acceder a los datos <g:price> <g:mpn>...<?xml version="1.0" encoding="UTF-8"?> <rss version ="2.0" xmlns:g="http://base.google.com/ns/1.0"> <channel> <title>Titulo del Feed</title> <description>Descripción del Feed</description> <link>http://www.midominio.com</link> <item> <title>Titulo coche</title> <link>url del coche</link> <description>Descripción del item</description> <g:marca></g:marca> <g:estado>new</g:estado> <g:id>81</g:id> <g:mpn>2013</g:mpn> <g:image_link>url de la imagen</g:image_link> <g:price>14000</g:price> </item> </channel> </rss>
Código:
$ch = curl_init("http://www.midominio.com/rss"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, 0); $data = curl_exec($ch); curl_close($ch); $xmlFileData = new SimpleXmlElement($data, LIBXML_NOCDATA); function parseRSS($xml) { echo '<?xml version="1.0" encoding="UTF-8"?>'."\n"; echo'<rss version ="2.0" xmlns:g="http://base.google.com/ns/1.0">'."\n"; echo'<channel>'."\n"; echo "<title>titulos</title> \n"; echo "<description>descripcion</description>\n"; $cnt = count($xml->channel->item); for($i=0; $i<$cnt; $i++){ echo "<item>\n"; echo "<title>".utf8_decode($xml->channel->item[$i]->title)."</title> \n"; echo "<description>".utf8_decode($xml->channel->item[$i]->description)."</description>\n"; echo "</item>\n"; } echo "</channel> \n </rss>\n"; } parseRSS($xmlFileData);
Podéis echarme una mano??
Gracias anticipadas