2012-01-28 15 views
2

私のようにperlのスニペットを持っている:PerlでXML :: Simpleを使って設定ファイルを解析するにはどうしたらいいですか?

<config> 
<property propertyname="text1" b="text2" c="text3" d="text4"> 
text5 
</property> 
<property propertyname="text6" b="text7" c="text8" d="text9"> 
text10 
</property> 
</config> 

私はPerlとXML :: Simpleはに新しいです:

my $xml = new XML::Simple(
    KeyAttr=>{ 
     property => 'propertyname',   
    }, 
    ForceArray => 1, 
    ContentKey => '-content'); 

my $config = $xml->XMLin($configFile); 

CONFIGFILEは次のようになります。この設定ファイルを解析して、cが鍵となり、対応するb、dにアクセスできるようにするにはどうすればいいですか? KeyAttrは何を上に伝えていますか?

答えて

3

XML :: Simpleは、Data::Dumperを使用して視覚化できるPerlデータ構造体(perldoc perldscを返します)を返します。

use warnings; 
use strict; 
use XML::Simple; 

my $xfile = ' 
<config> 
<property propertyname="text1" b="text2" c="text3" d="text4"> 
text5 
</property> 
<property propertyname="text6" b="text7" c="text8" d="text9"> 
text10 
</property> 
</config> 
'; 

my $xml = new XML::Simple(
    KeyAttr=>{ 
     property => 'propertyname',   
    }, 
    ForceArray => 1, 
    ContentKey => '-content'); 

my $config = $xml->XMLin($xfile); 

print "$config->{property}{text1}{c}\n"; 
print "$config->{property}{text6}{c}\n"; 
print "$config->{property}{text1}{d}\n"; 
print "$config->{property}{text6}{d}\n"; 

__END__ 

text3 
text8 
text4 
text9 

あなたはポインタはperldoc XML :: Simpleは約KeyAttrperldoc XML::Simpleから

+0

感謝を読むことができます: は、ここでは、必要なデータにアクセスするための一つの方法です。 KeyAttr => {a => b}の使い方を説明します。多くのチュートリアルではKeyAttr => aの使い方しか説明していません。 – xyz

関連する問題