• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:XML::Simple)

XML::Simpleを使用してxmlファイルから特定の値を取得する方法

このQ&Aのポイント
  • XML::Simpleモジュールを使用してxmlファイルから特定の値を取得する方法を学びます。
  • xmlファイル内の<service>タグの値を取得するために、<service>タグが複数行にまたがっていても問題ありません。
  • <service>タグの値を取得するためには、XML::SimpleモジュールのXMLin関数を使用します。

質問者が選んだベストアンサー

  • ベストアンサー
  • kumoz
  • ベストアンサー率64% (120/185)
回答No.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'}; } }

関連するQ&A