2009-06-25 63 views
1

我只是想創建XML如何用Perl的XML :: Simple生成XML?

use XML::Simple; 

my %element = ("a" => "10" , 
       "b" => "20" ,); 

my $xs = new XML::Simple(); 
my $ref = $xs->XMLin(%element); 
my $xml = $xs->XMLout($ref); 
print $xml; 

什麼是錯的這個代碼? (這是得了解決)

use XML::Simple; 

my %element = ("a" => "10" , 
       "b" => "20" ,); 

my $xs = new XML::Simple(); 
my $xml = $xs->XMLout(\%element); 
print $xml; 

這將產生以下的輸出:

<opt a="10" b="20" /> 

但我真的很想得到的是:

<a> 10 </a> 
<b> 20 </b> 

我怎樣才能做到這一點?

+1

你爲什麼做這個社區維基?你爲什麼拒絕閱讀文檔? – innaM 2009-06-25 09:47:36

+0

通過誤我向社區維基..如何回滾到.. – joe 2009-06-25 09:58:37

回答

4

XMLin將XML轉換爲Perl數據結構。

XMLout使用Perl數據strcuture並將其轉換爲XML。

您正試圖將Perl數據結構提供給XMLin並將結果提供給XMLout。

您是否考慮閱讀documentation


更新:文檔(是的,我們知道這是無聊的)提供了相當多的選項,你可以傳遞給XML::Simple::new()。其中之一是NoAttr => 1。你可能想要check that one out,但看看其他人(其中一些被標記爲「重要」)不會受到傷害。

2

反向使用它。 XMLin是一個XML解碼器(採用XML編碼文檔,返回Perl結構); XMLout是一個XML編碼器(採用Perl結構,返回一個XML編碼文檔)。