連載
» 2007年02月26日 08時00分 公開

第3回 XML::SimpleであらゆるXML文書を料理する作って学ぶ、今どきのWebサービス(2/2 ページ)

[はてな 伊藤直也,ITmedia]
前のページへ 1|2       

XML::Simpleのオプションでデータ構造の形を変えてみる

 ところでリスト1では、ブックマークされている数を取るのに、

$data->{count}->{bookmark}->{content}


とデータ構造をたどっていますが、よく見ると最後の{content}は冗長ですね。XML::Simpleがハッシュのデータ構造を作る際に、XML文書のtextノードに'content'というキーを自動で付与していますが、実際には、

$data->{count}->{bookmark}


で数が取れる方がスマートです。XML::Simpleが作るデータ構造は、オプションである程度その結果を制御できますので、それを使いましょう。CPANのドキュメントによると、ContentKeyオプションを使うといいようです。

my $data = $parser->XMLin (

$document,

ContentKey => '-content'

);


 このように、XMLinにオプションを渡します。すると、データ構造はリスト3のような形に変わります。これで、先に示したスマートな方法で値を取り出すことができますね。


$VAR1 = {
     'count' => {
         'bookmark' => '177',
         'antenna' => '1',
         'diary' => '413'
     }
};

リスト3 XML::Simpleのオプションでデータ構造の形を変えてみる

 XML::Simpleには、ほかにもさまざまなオプションがあります。複雑なXML文書でも、オプションを適切に渡せば思いどおりのデータ構造を作って利用できます。一般的なXMLプログラミング(SAXやDOM、XPathを使ったそれ)よりもはるかに簡単で便利ですね。

まとめ

 今回までで、いまどきのWebプログラミングの基礎としてPerlにおけるライブラリ群であるCPANの使い方、およびWebアクセスに欠かせないLWPやXMLモジュールの使い方を解説しました。次回以降はこれを発展させて、より実用的なアプリケーションの作り方を解説していきたいと思います。お楽しみに。

perlハッカーの道具箱:perldocでモジュールの使い方を調べる

 ところで、LWP::SimpleやXML::RSSなどのPerlモジュールにはそれぞれさまざまな機能がありますが、それらの使い方はどのように調べると良いのでしょうか? こういう場合にはperldocを使います。コマンドラインから、


$ perldoc XML::RSS

と実行すると、XML::RSSに埋め込まれたドキュメント(POD*)を読むことができます。また、ドキュメントを読んだけどもっと詳細な動きが知りたいなんてときは、ソースを直接読んでしまえば良いでしょう。次のように実行すると、モジュールのソースを開くことができます。


$ perldoc -m XML::RSS

 search.cpan.orgにはきれいに整形されたPODが置かれています。ブラウザで読むほうが読みやすいという方はそちらを閲覧しても良いでしょう。search.cpan.orgのトップページからモジュール名で検索すればOKです。

※ Perl Old Documentationの略で、Perlの標準ドキュメント記法。プログラム中にコメントを埋め込んだり、簡単なドキュメントを記述する際に使用する。perldocコマンドを使えば、Perlスクリプトに埋め込まれたコメントを読むことができる。


本記事は、オープンソースマガジン2005年7月号「作って学ぶ、今どきのWebサービス 第1回」を再構成したものです。


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ