- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:XML::Simple)
XML::Simpleを使用してxmlファイルから特定の値を取得する方法
このQ&Aのポイント
- XML::Simpleモジュールを使用してxmlファイルから特定の値を取得する方法を学びます。
- xmlファイル内の<service>タグの値を取得するために、<service>タグが複数行にまたがっていても問題ありません。
- <service>タグの値を取得するためには、XML::SimpleモジュールのXMLin関数を使用します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
XML::Simple が作成するデータ構造が、1行と複数行では異なるためでは ないかと思われます。 <server no ="1"> の場合 $Serv => { MMM => "0000000001", service => "aa001", WWW => ["a001", "b001"] } セクションが1行の場合はスカラー値、複数行の場合は無名配列に格納 されます。そのため、コードではその部分を判断する必要があります。 foreach my $Serv (@{$root->{'server'}}){ if (ref($Serv->{'service'}) eq 'ARRAY') { foreach my $Service (@{$Serv->{'service'}}){ print "$Service\n"; } } else { print $Serv->{'service'}; } }