XML::Atom::Entryのget()とかgetlist()
XML::Atom::Entryのget()とかgetlist()ではアトリビュートは取れないっぽい。
YouTube Data APIのVideo feedでmedia:groupのデータを取ろうとして、
my $entry = XML::Atom::Entry->new( 'http://gdata.youtube.com/feeds/api/videos/L022IsDrTX8' ); my $ns = XML::Atom::Namespace->new( media => 'http://search.yahoo.com/mrss/' ); warn $entry->get( $ns, 'group' );
とかやったんだけど、コンテンツしかとれない。
しょうがないので、以下のようにXPath的に取るようにしました。
my $entry = XML::Atom::Entry->new( 'http://gdata.youtube.com/feeds/api/videos/L022IsDrTX8' ); for my $thumbnail ( $entry->elem->getElementsByTagName( 'media:thumbnail' ) ) { warn $thumbnail->getAttribute( 'url' ); }