【问题标题】:Create XML file from perl hash从 perl 哈希创建 XML 文件
【发布时间】:2014-02-27 02:40:51
【问题描述】:

我有一个 URL,它在 perl (a hash) 中返回一个字符串数组。我需要将这些字符串数组写为 xml 文件。我怎样才能做到这一点 .. 我基本上有 step1 : 获取 perl 哈希

my @xml = $phone->getXml();

第 2 步:遍历 perl 哈希并将数组中的元素原样添加为 xml。

 my $writer = new XML::Writer();

而不是添加开始和结束标记... 我想将数组中的元素添加到文件中并保存 类似:

foreach my $Line (@xml) {
  # some writer parameter which can write it to file and save as "my.xml"
  writer->
}

我是 perl 的新手..有人可以在第 2 步中帮助我吗..

【问题讨论】:

  • 您输出的 XML 架构需要是什么样的?您会将每个数组元素放入哪个 XML 元素中?
  • 你有数组还是哈希???你不断在两者之间切换
  • 我有一个数组。在数组中,xml 的每一行都被添加并作为 http 请求的响应发回。所以如果我添加数组的所有元素,将形成一个xml 给我。

标签: xml perl xpath hash


【解决方案1】:

“XML”是对格式的不完整描述。这将从散列生成 XML:

my $writer = XML::Writer->new();
$writer->startTag("root");

for my $key (keys(%hash)) {
   $writer->dataElement("attr", $hash{$key}, name => $key);
}

$writer->endTag("root");
$writer->end();

【讨论】:

    【解决方案2】:

    您将使用 emptyTag 方法:

    for my $line (@xml) {
      $writer->emptyTag($line); # Just an empty tag
    }
    for my $line (@xml) {
      $writer->emptyTag($line, 'someattr' => 'someval'); # Empty tag with attributes
    }
    

    【讨论】:

      猜你喜欢
      • 2013-12-20
      • 2011-06-05
      • 2011-05-08
      • 2011-04-20
      • 1970-01-01
      • 1970-01-01
      • 2018-12-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多