Perl で XML::TreeBuilder を使ってみる

仕事で Perl を使う案件があり、そのなかで利用されていた XML::TreeBuilder について、最低限の使用方法を忘れないようにメモ。

*

XML::TreeBuilder 自体は CPAN でダウンロードし、インストールします。

使い方は、ざっくりと次の通り。

  1. ライブラリを読み込む
  2. インスタンス作る
  3. XML を解析する
  4. 中身をいじる
  5. インスタンスを破棄する

具体的なコードにすると次の通り。

  1. use XML::TreeBuilder;
  2. $h = XML::TreeBuilder->new;
  3. $h->parse(<XML のデータ>);
  4. $h->find() とか $h->attr() とか ->as_text とか
  5. $h->delete;

*

この中では、4番の解析部分が一番多く使われると言うか処理の中心になると思います。
例えば次の XML の場合について考えます。

[code lang=’xml’]
0

1


2


3


[/code]

この XML のすべての id ダグを抜き出すのであれば、次のコードになります。

[code lang=’perl’] @ids = $h->look_down( _tag=>’id’ );

foreach (@ids) {
print $_->as_text;
}
[/code]

id タグすべてが取得されます。
この場合、画面には「0123」 が表示されます。

しかし、一般的には entry 以下の id 「123」を抜き出したいでしょう。その場合には次のコードになります。

[code lang=’perl’] @entries = $h->find(‘entry’);

foreach (@entries) {
print $_->tag(‘id’)->as_text;
}
[/code]

look_down() が下位ノードのすべてのノードを取得するのに対し、tag() は子ノードのみを対象とするわけですね。
組み合わせることで、DOM の階層を表現できます。

※as_text は、現在のタグの内容を文字列で取得する関数

他にも便利な関数はたくさんありますが、とりあえずメモと言うことで。

10年集客し続けられるサイトを、ワードプレスで自作する9つのポイント プレゼント

【最後まで読んでくれたあなたに】

あなたは、24時間365日、自分の代わりに集客し続けてくれるWebサイトを作りたい!と思ったことはありませんか?

私はこれまで500以上のWebサイトの構築と運営のご相談に乗ってきましたが、Webサイトを作ってもうまく集客できない人には、ある一つの特徴があります。

それは、「先を見越してサイトを構築していないこと」です。
Webサイトで集客するためには、構築ではなく「どう運用するか」が重要です。

しかし、重要なポイントを知らずにサイトを自分で構築したり、業者に頼んで作ってもらってしまうと、あとから全く集客に向いていないサイトになっていたということがよく起こります。

そこで今回、期間限定で
『10年集客し続けられるサイトをワードプレスで自作する9つのポイント』
について、過去に相談に乗ってきた具体的な失敗事例と成功事例を元にしてお伝えします。

・ワードプレスを使いこなせるコツを知りたい!
・自分にピッタリのサーバーを撰びたい!
・無料ブログとの違いを知りたい!
・あとで悔しくならない初期設定をしておきたい!
・プラグイン選びの方法を知っておきたい!
・SEO対策をワードプレスで行うポイントを知りたい!
・自分でデザインできる方法を知りたい!

という方は今すぐ無料でダウンロードしてください。

期間限定で、無料公開しています。

※登録後に表示される利用条件に沿ってご利用ください

コメントを残す