如何在RSS 2.0源中获取完整条目

时间:2009-01-23 20:51:16

标签: php rss

我使用了几个不同的脚本,人们建议尝试解析RSS,包括Magpie和PHP中的SimpleXML功能。但是似乎没有人能够很好地处理RSS 2.0,因为它们不会让我回到完整的内容块。是否有人建议您阅读http://chacha102.com/feed/中找到的Feed,并获取完整内容而不仅仅是描述?

2 个答案:

答案 0 :(得分:2)

如果没有阅读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>";
}

答案 1 :(得分:0)

你现在有什么不行的?解析RSS应该是一个微不足道的过程。尝试退出过多的库,只需使用一些简单的XPath查询或访问PHP中的DOMDocument对象。

请参阅:PHP DOMDocument