ブログ  前の記事  次の記事  2007-03-31 

たけまる / Atom 0.3 と 1.0 の相互変換


2007-03-31

_ Atom 0.3 と 1.0 の相互変換 [atom][perl]

Perl で RSS や Atom を変換するには,XML::Feed や XML::FeedPP が使
えます.たとえば,plagger では XML::Feed が使われています.個人的
には変換速度の速い XML::FeedPP を使っています.

[Perl] XML::FeedPP - RSS・RDF・Atomフィードの解析・生成・変換・結合

ところで,RSS や RDF と Atom を変換することはできるのですが,Atom
0.3 と 1.0 の変換はサポートしていませんでした.XML::FeedPP を Atom
1.0 に対応させるパッチを作りましたので紹介です.

FeedPP v.0.21 の Atom 1.0 対応パッチ

以下のようにして,Atom 0.3 から 1.0 に変換できます.逆も同様です.

my $atom10 = XML::FeedPP::Atom1_0->new;
$feed->merge( $atom03_xml );
$feed->to_string( 'UTF-8' );

作者の川崎さんにパッチを送ったので,近いうちに取り込まれると思いま
す (モジュール名が XML::FeedPP::Atom1_0 から変更されるかもしれませ
んので注意してください).

■ 追記

XML::Feed は,Atom 0.3 から 1.0 への片道変換のみサポートしています.

XML::Feed->parse( \$atom03_xml )->convert('Atom')->as_xml;

逆変換するには,XML::Feed::Atom にハードコーディングされている
'1.0' という文字列を '0.3' にすればよいと思われます.

一言メッセージをこっそり送信できます (非公開)
 今年の西暦→