simplePie无法从RSS获取特定的RDF字段

时间:2012-04-11 12:58:04

标签: php rss rdf simplepie

我正在尝试解析基于simplePie的RSS,而我要解析的RSS基于RDF。

并且有一些特定字段,例如:“creator”/“identifier”/ etc ......

我根据如何从rss获取特定字段并编写以下代码(大部分与simplePie示例相同)来阅读simplePie文档:

simplePie文档链接:

  

http://simplepie.org/wiki/reference/simplepie_item/get_item_tags

$feed = new SimplePie();
$feed->set_feed_url('http://www.nature.com/nchem/current_issue/rss');
$feed->enable_cache(false);
$success = $feed->init();
//$feed->handle_content_type('text/plain');

if ($success)
{
    if ($item = $feed->get_item(0))
    {
        // This is probably a bad example because we already support <media:content> natively, but it shows you how to parse through the nodes.
        $media_group = $item->get_item_tags('http://www.w3.org/1999/02/22-rdf-syntax-ns#', 'rdf');
        $media_content = $media_group[0]['child']['http://www.w3.org/1999/02/22-rdf-syntax-ns#']['content'];
       // $file = $media_content[0]['attribs']['']['url'];
       // echo $file;
    }
    else
    {
        echo 'Error: Could not get first item';
    }
}
else
{
    echo $feed->error();
}

media_group和media_content(当然)总是返回NULL

如何从RSS中获取特定字段?

1 个答案:

答案 0 :(得分:1)

非标准Feed可能会让SimplePie和我头疼。您可以从SimplePie获取原始XML,然后使用其他东西来解析/操作它。我在某些情况下使用SimpleHTMLDom完成了这个......