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' );
}