- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:xmlから組み合わせ情報を得たい)
XMLから組み合わせ情報を取得する方法
このQ&Aのポイント
- Perlを使い始めたばかりの方に、XMLデータから組み合わせ情報を取得する方法をご紹介します。
- 具体的な例として、以下のようなXMLがある場合に、AとBを選んだらキーワードの組み合わせを表示する方法を解説します。
- 組み合わせ情報を取得するためには、Perlのプログラムを使用し、XMLデータの解析と組み合わせの生成を行います。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
次のプログラムでは、1度ハッシュに読み込んでから組み合わせを生成しています。 use strict; my (%hash, $name); while (my $line = <DATA>) { $name = $1 if $line =~ /<name>([A-Z])<\/name>/; push @{$hash{$name}}, $1 if $line =~ /<keyword>([a-z])<\/keyword>/ } my @list = (@{$hash{A}}, @{$hash{B}}); foreach my $c1 (0 .. ($#list - 1)) { foreach my $c2 (grep { $_ > $c1 } 1 .. $#list) { print "$list[$c1]-$list[$c2]\n"; } } __DATA__ <name>A</name> <keywords> <keyword>a</keyword> <keyword>b</keyword> </keywords> ・ ・ <name>B</name> <keywords> <keyword>c</keyword> <keyword>d</keyword> </keywords> ・ ・
お礼
回答ありがとうございます。 うまく動きました!