スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Windows XP+ActivePerl環境におけるXML-LibXMLのセットアップ作業のメモ

Windows XP SP3+Active Perl 環境で、ppm コマンドによって XML-LibXML をインストールする手順。

インストール作業を行った際の Active Perl のバージョンは、5.14.2 と 5.8.8。

インストール手順

最初に、コマンドプロンプトを起動。

リポジトリを追加する。

> ppm rep add "http://www.bribes.org/perl/ppm"

XML-LibXML をインストールする。

> ppm install XML-LibXML

XML-LibXML をアップグレードする。

> ppm upgrade XML-LibXML

以上で完了。

サンプルプログラム

以下の Perl スクリプトで動作確認を行いました。XML をパースします。

use strict;
use warnings;
use XML::LibXML;

my $xml_string = <<"EOT";
<?xml version="1.0" encoding="Shift_JIS" ?>
<websites>
  <website>
    <name>Google</name>
    <url>http://www.google.com/</url>
  </website>
  <website>
    <name>Yahoo! Japan</name>
    <url>http://www.yahoo.co.jp/</url>
  </website>
</websites>
EOT

my $dom = XML::LibXML->load_xml(string => $xml_string);
my @websiteNodes = $dom->findnodes('/websites/website');
foreach my $websiteNode (@websiteNodes) {
  my @nameNodes = $websiteNode->findnodes('./name');
  my @names = map { $_->findvalue('.') } @nameNodes;
  my @urlNodes = $websiteNode->findnodes('./url'); 
  my @urls = map { $_->findvalue('.') } @urlNodes;
  print $names[0]."\n".$urls[0]."\n\n";
}

findnodes や findvalue の引数におけるノードの指定の仕方は、Unix 系 OS におけるディレクトリパスの指定と同様です。階層を「/」で区切り、現在の階層を「.」で表します。上の例では、最上位の要素は「/websites」になります。

【theme : プログラミング
【genre : コンピュータ

プロフィール

よしいず

Author:よしいず
MATHEMATICS.PDFというウェブサイトを運営しています。

管理の都合上、トラックバックとコメントはオフにしてあります。ブログ経験者なら分かっていただけると思いますが、スパム(アダルトやその他の宣伝)ばかりなのが現実です。

リンクは自由です。当サイトの記事に対する間違いの指摘・意見・感想などを述べた記事からのリンクは歓迎です。ただし、ブログ記事アップ直後はミスが多く、頻繁に修正します。場合によっては削除する可能性もあります。その際、何も断りもなく修正・削除しますがご了承ください。内容を参考にする場合には投稿後一週間ほど様子を見てからにしてください(笑)。

記事の間違いを指摘するときは、その具体的箇所、理由(仕様に反するなど)・根拠(参考にした文献など)、代替案(同じ結果を得るための正しいやり方)も教えてください。そうしないと、(指摘される側および第三者はその時点では無知の状態なので、)どこが間違いなのか分かりませんし、本当に間違っているのかどうかが判断・検証できません。実際、間違いだと指摘されたことが結局は正しかったというケースもありますので。

このブログのタイトル一覧

リンク
月別アーカイブ
カテゴリ
最新記事
検索フォーム
RSSリンクの表示
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。