Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从perl哈希创建XML文件_Xml_Perl_Xpath_Hash - Fatal编程技术网

从perl哈希创建XML文件

从perl哈希创建XML文件,xml,perl,xpath,hash,Xml,Perl,Xpath,Hash,我有一个URL,它用perl(散列)返回一个字符串数组。我需要将这些字符串数组编写为xml文件。我该怎么做。。 我基本上 步骤1:获取perl哈希 my @xml = $phone->getXml(); 第2步:迭代perl哈希并按原样将元素以xml形式添加到数组中 my $writer = new XML::Writer(); 而不是添加开始和结束标记。。。 我想将数组中的元素添加到文件并保存它 比如: foreach my $Line (@xml) { # some writ

我有一个URL,它用perl(散列)返回一个字符串数组。我需要将这些字符串数组编写为xml文件。我该怎么做。。 我基本上 步骤1:获取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:

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();

您将使用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
}

您输出的XML的模式需要是什么样的?您会将每个数组元素放入哪个XML元素中?您有数组还是散列???在这两者之间不断切换我有一个数组。在数组中,xml的每一行都被添加并作为http请求的响应发送回。因此,如果我添加数组中的所有元素,这些元素将为我形成一个xml。