2009-01-23 5 views
1

J'ai utilisé plusieurs scripts différents que les gens ont suggéré pour essayer d'analyser RSS, y compris Magpie et la fonctionnalité SimpleXML en PHP. Mais aucun ne semble bien gérer le RSS 2.0, car il ne me rendra pas le contenu complet. Quelqu'un at-il une suggestion pour lire un flux comme celui trouvé au http://chacha102.com/feed/, et obtenir le contenu complet au lieu de seulement la description?Comment obtenir la saisie complète dans un flux RSS 2.0

Répondre

2

Sans lire aucune documentation de l'espace de noms rss "content" et comment il doit être utilisé, voici un script SimpleXML fonctionnel. L'astuce consiste à utiliser l'espace de noms lors de la récupération du contenu.

/* the namespace of rss "content" */ 
$content_ns = "http://purl.org/rss/1.0/modules/content/"; 

/* load the file */ 
$rss = file_get_contents("http://chacha102.com/feed/"); 
/* create SimpleXML object */ 
$xml = new SimpleXMLElement($rss); 
$root=$xml->channel; /* our root element */ 

foreach($root->item as $item) { /* loop over every item in the channel */ 
    print "Description: <br>".$item->description."<br><br>"; 
    print "Full content: <div>"; 
    foreach($item->children($content_ns) as $content_node) { 
     /* loop over all children in the "content" namespace */ 
     print $content_node."\n"; 
    } 
    print "</div>"; 
} 
0

Qu'est-ce que vous avez qui ne fonctionne pas en ce moment? Analyser RSS devrait être un processus trivial. Essayez de vous éloigner des bibliothèques excessives et utilisez simplement quelques requêtes XPath simples ou accédez à l'objet DOMDocument en PHP.

voir: PHP DOMDocument