【问题标题】:How do I produce XML with Perl's XML::Simple?如何使用 Perl 的 XML::Simple 生成 XML?
【发布时间】:2009-06-25 09:17:21
【问题描述】:

我只是想创建 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>

我怎样才能做到这一点?

【问题讨论】:

  • 你为什么要创建这个社区维基?你为什么拒绝阅读文档?
  • 我误入了社区 wiki .. 如何回滚到..

标签: xml perl xml-simple


【解决方案1】:

XMLin 接受 XML 并将其转换为 Perl 数据结构。

XMLout 采用 Perl 数据结构并将其转换为 XML。

您正在尝试将 Perl 数据结构提供给 XMLin 并将结果提供给 XMLout。

你考虑过阅读documentation吗?


更新:文档(是的,我们知道这很无聊)提供了很多选项,您可以将它们传递给 XML::Simple::new()。其中之一是NoAttr =&gt; 1。你可能想check that one out,但看看其他的(其中一些被标记为“重要”)不会有什么坏处。

【讨论】:

    【解决方案2】:

    您正在反向使用它。 XMLin 是一个 XML 解码器(接受一个 XML 编码的文档,返回 Perl 结构); XMLout 是一个 XML 编码器(采用 Perl 结构,返回一个 XML 编码的文档)。

    【讨论】:

    • 无论如何我都无法实现我想要的。我只想创建基于哈希数组的 XML 元素
    猜你喜欢
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-10
    • 1970-01-01
    • 1970-01-01
    • 2012-02-11
    相关资源
    最近更新 更多