2012-04-11 9 views
1

私はsimplePieに基づいてRSSを解析しようとしています。解析したいRSSはRDFに基づいています。simplePieはRSSから特定のRDFフィールドを取得できません

とのようないくつかの特定のフィールドがあります:の/ etc「クリエイター」/「識別子」...

私はRSSから特定のフィールドを取得し、次のコードを書く方法に従ってはSimplePieの文書を読んで(mostlythe同じ)は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

+1。これは今私に頭痛を与えている。はい、標準外のフィードは痛みや悪い習慣かもしれませんが、実際には ''の余分なものを抱き締め、反対側で意味のあるものを解析しようとしているのですか? – jammypeach

答えて

1

標準外のフィードは、SimplePieと私の頭痛を与えることがあります。 SimplePieから生のXMLを取得し、それ以外のものを使って解析/操作することができます。私はSimpleHTMLDomを使用していくつかのケースでそれを行ってきました...

関連する問題