
perl初心者です。
以下のxmlデータの「http://www.google.co.jp」をxml解析して値を取得したいのですが、
どのようなプログラムを記述すればよろしいのでしょうか?
<?xml version="1.0" encoding="x-sjis-cp932" ?>
<Res_result>
<result result="1" />
<result redirect="http://www.google.co.jp" />
</Res_result>
いろいろ試してみましたが、どうもうまくいきません。
ちなみにサーバーにインストールされているxml関連のモジュールが
XML::Simple
XML::Parser
となります。
ご教授の方、宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
一応、下記のコードで取り出すことができます。
# モジュールを読み込む
use XML::Simple;
# 一旦、XMLを $xml に読み込む
my $xml_file = 'result.xml';
open my($fh), '<', $xml_file;
my $xml = join('',<$fh>);
# x-sjis-cp932 があると解析に失敗するので、
# <?xml version="1.0" encoding="x-sjis-cp932" ?> を削除
# XML を UTF-8 で書くと下記の処理はいらない。
$xml =~ s/<\?.*\?>//;
# XML::Simple を使い、$ref にリファレンスのツリーとして解析する
my $x = XML::Simple->new(); # パーサを作成
my $ref = $x->XMLin($xml);
# 必要なデータを出力
print $ref->{result}->[1]->{redirect};
XML::Simple はこの例のように単純な構造のXMLを Perl 的な変数のツリーに変換するモジュールです。
少なくとも Perl のリファレンスをある程度理解していないと何をしているかわからないと思います。
最後の行の「$ref->{result}->[1]->{redirect}」が何を意味しているのか分からないようでしたら、まずリファレンスを学習し、XML::Simple の説明を読むとよいと思います(参照URL)。
参考URL:http://d.hatena.ne.jp/perlcodesample/20100424/12 …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Excel2016】結合されたセルを...
-
Perlのモジュールについて
-
グラフのX,Y座標を取得したい
-
Excel VBAでリンク切れをチェッ...
-
EXECEL VBA コマンドボタンか...
-
モジュールの最大数はいくつな...
-
VBのフォームモジュールと標準...
-
シャープ製品JH-WB1821 と BCG...
-
ユーザー定義関数に#NAME?が返...
-
クリアーとデリート
-
VBAのバージョン管理
-
エクセルVBAでシートモジュール...
-
Excel VBAで、ユーザーフォーム...
-
ユーザーフォームに最小化・最...
-
標準モジュールを削除したい。(...
-
Excel VBA 標準モジュール内で...
-
「デバイスは PRN を初期化でき...
-
例外処理のフローチャートの記...
-
VBScriptのデバッグ方法につい...
-
tex についての質問です このコ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでリンク切れをチェッ...
-
Excel VBA 定義されたプロージ...
-
Application.OnKey:項目入力中...
-
Excel VBAで、ユーザーフォーム...
-
モジュールの最大数はいくつな...
-
グラフのX,Y座標を取得したい
-
VBA This Workbookモジュール...
-
ユーザー定義関数に#NAME?が返...
-
VBAで旧字体を異字体に一括で変...
-
モジュールとクラスの違いって...
-
Sub Workbook_Open()でユーザー...
-
acwzlibとは?
-
標準モジュールを削除したい。(...
-
エクセルVBAでシートモジュール...
-
VBでグローバル変数を宣言するには
-
【Excel VBA】標準モジュールに...
-
vba userFormのSubを標準モジュ...
-
【vba】フォームに書いてあ...
-
VBAで別モジュールへの変数の受...
-
マクロについて教えてください。
おすすめ情報