Как получить полную запись в ленте RSS 2.0 - PullRequest
1 голос
/ 23 января 2009

Я использовал несколько разных сценариев, которые люди предлагали для анализа RSS, включая Magpie и функцию SimpleXML в PHP. Но никто, похоже, не справляется с RSS 2.0 хорошо, потому что они не вернут мне полный кусок контента. У кого-нибудь есть предложение прочитать ленту, похожую на http://chacha102.com/feed/,, и получить полный контент вместо только описания?

Ответы [ 2 ]

2 голосов
/ 24 января 2009

Не читая никакой документации о пространстве имен rss "content" и о том, как его использовать, вот рабочий скрипт SimpleXML Хитрость заключается в использовании пространства имен при получении содержимого.

/* 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 голосов
/ 24 января 2009

Что у тебя сейчас не работает? Парсинг RSS должен быть тривиальным процессом. Попробуйте отойти от лишних библиотек и просто использовать несколько простых запросов XPath или получить доступ к объекту DOMDocument в PHP.

см .: PHP DOMDocument

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...