2009-06-25 86 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编码文档)。