Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/10/2011, 05:00
Operadormail
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 20 años, 11 meses
Puntos: 1
Parsear RSS y acceder a determinados datos

Hola todos

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:
<?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>
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>...



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

Última edición por Operadormail; 14/10/2011 a las 05:05