こんにちは、次のような一連のアイテムを含む xml 形式の API 応答があります。
<item>
<title>blah balh</title>
<pubDate>Tue, 20 Oct 2009 </pubDate>
<media:file date="today" data="example text string"/>
</item>
DOMDocument を使用して、タグ「media:file」から属性「data」を取得したいと考えています。以下の私の試みはうまくいきません:
$xmldoc = new DOMDocument();
$xmldoc->load('api response address');
foreach ($xmldoc->getElementsByTagName('item') as $feeditem) {
$nodes = $feeditem->getElementsByTagName('media:file');
$linkthumb = $nodes->item(0)->getAttribute('data');
}
私は何を間違っていますか?助けてください。
編集: マーク、何らかの理由でコメントを残すことができません。エラーが発生します
Call to a member function getAttribute() on a non-object
コードを実行すると。私も試してみました
$nodes = $feeditem->getElementsByTagNameNS('uri','file');
$linkthumb = $nodes->item(0)->getAttribute('data');
ここで、uri はメディア ネーム スペース (NS) に関連する uri ですが、これも同じ問題です。
通常、属性の解析には問題がないため、メディア要素の形式は not であることに注意してください。これは問題の一部だと思います。