Kawanet Tech Blog

アクセスカウンタ

help RSS [Perl] XML::TreePP/XMLファイル展開モジュールを公開

<<   作成日時 : 2006/02/20 16:31   >>

ブログ気持玉 0 / トラックバック 1 / コメント 2

XML::TreePP は、XML ファイルをツリー構造のハッシュ変数に展開したり、
その逆にハッシュ変数から XML ファイルを生成するための Perl モジュールです。
XML::DOM::Parser による面倒な DOM インターフェースの操作も不要です。
Pure Perl 実装のため、.pm ファイルをサーバにコピーするだけで使用できます。
これでサーバ環境を心配せずに、Perl で XML ファイルを処理するプログラムが組めます。

ダウンロードはこちら↓から。
http://www.kawa.net/works/perl/treepp/treepp.html

以下のように使用します。

XML ファイル(RDFファイル)をハッシュ変数に展開する例:
use XML::TreePP;
my $tpp = XML::TreePP->new();
my $tree = $tpp->parsefile( "index.rdf" );
print "Title: ", $tree->{"rdf:RDF"}->{item}->[0]->{title}, "\n";
print "URL: ", $tree->{"rdf:RDF"}->{item}->[0]->{link}, "\n";


ハッシュ変数から XML ファイルを生成する例:
use XML::TreePP;
my $tpp = XML::TreePP->new();
my $tree = { rss => { channel => { item => [ {
title => "The Perl Directory",
link => "http://www.perl.org/",
}, {
title => "The Comprehensive Perl Archive Network",
link => "http://cpan.perl.org/",
} ] } } };
my $xml = $tpp->write( $tree );
print $xml;


HTTP(GETメソッド)で他のウェブサーバ上のXMLファイルを取得して、ハッシュ変数に展開する例:
use XML::TreePP;
my $tpp = XML::TreePP->new();
my $tree = $tpp->parsehttp( GET => "http://use.perl.org/index.rss" );
print "Title: ", $tree->{"rdf:RDF"}->{channel}->{title}, "\n";
print "URL: ", $tree->{"rdf:RDF"}->{channel}->{link}, "\n";


HTTP(POSTメソッド)はてなの検索結果を取り出して、ハッシュ変数に展開する例:
use XML::TreePP;
my $tpp = XML::TreePP->new( array_element => [qw( item )] );
my $cgiurl = "http://search.hatena.ne.jp/keyword";
my $keyword = "ajax";
my $cgiquery = "mode=rss2&word=".$keyword;
my $tree = $tpp->parsehttp( POST => $cgiurl, $cgiquery );
print "Link: ", $tree->{rss}->{channel}->{item}->[0]->{link}, "\n";
print "Desc: ", $tree->{rss}->{channel}->{item}->[0]->{description}, "\n";


JavaScript 用の JKL.ParseXML(展開処理のみ)は、もともと XML::Simple に
インスパイヤされたものでしたが、改めて Puer Perl で Perl 用モジュールを
作成してみました。XML::Simple とは違って、XML::Parser::Expat は不要です。
Pure Perl 実装の XML::Mini は遅いし日本語が通らないので、使えません。

テーマ

関連テーマ 一覧

月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(1件)

タイトル (本文) ブログ名/日時
[Perl] RSS・RDF・Atomファイル処理用モジュールを公開
XML::TreePP モジュールの公開に続いて、RSS・RDF・Atomファイルを 処理するためのモジュール XML::FeedPP を公開しました。 RSS(RSS 2.0)・RDF(RSS 1.0)・Atom(0.3)の3フォーマットの読み書きに対応しています。 フォーマット間の変換や、複数の Web フィードの結合ができます。 ...続きを見る
ゆうすけブログ
2006/02/25 03:27

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(2件)

内 容 ニックネーム/日時
待ってました!
みずの
2006/02/20 18:43
使ってみてねー。>みずのきどり
ゆうすけ
2006/02/21 11:27

コメントする help

ニックネーム
本 文
[Perl] XML::TreePP/XMLファイル展開モジュールを公開 Kawanet Tech Blog/BIGLOBEウェブリブログ
[ ]