2011-12-05 9 views
5

estoy tratando de leer el RSS yahoo (http://news.yahoo.com/rss/us) en PHP usando la función xmlno puede leer xml feed yahoo en php

esto es myvery código simple:

$xml = simplexml_load_file('xml.xml'); 
var_dump($xml['channel']); 

pero I muestra NULL:

[email protected]: php test.php 
NULL 

se rompe mi XML? o hay una mejor función en php para leer el archivo xml?

puedo ver que existe el elemento en el archivo XML y descargué el archivo correctamente en mi computadora.

+0

[simplexml_load_file] (http://php.net/manual/en/function.simplexml-load-file.php) devolver un objeto no una matriz: 'Devuelve un objeto de la clase SimpleXMLElement con propiedades que contienen los datos contenidos en el documento XML, o FALSE en la falla. –

Respuesta

6

SimpleXML devuelve un objeto, no una matriz. Prueba esto:

<?php 
$xml = simplexml_load_file('http://news.yahoo.com/rss/us'); 
var_dump($xml->channel); 
?> 
+0

oh funciona, ¿significa que no puedo usar una matriz? como [] y no -> – Adam

+0

Si prefiere usar matrices, puede escribir en el formato '$ xml = (array) $ xml;' después de la llamada simplexml. – Tak

+0

me gusta - gracias voy a utilizar esto mucho más fácil que el otro – Adam

0

Algo como esto:

 
$rss = simplexml_load_file('http://news.yahoo.com/rss/us'); 

echo $rss->channel->title; 

foreach ($rss->channel->item as $item) { 
    echo $item->link. " -- " .$item->title; 
    echo $item->pubDate; 
    echo $item->description; 
} 
+0

obtengo esto: error de PHP Parse: error de sintaxis, inesperado '"', esperando ',' o ';' en /var/www/rss.php en la línea 7 – Adam

+0

ok eliminado todas las citas, ¿puedes chequearlo una vez, esto está funcionando para mí –

+0

ok déjame intentarlo – Adam