【问题标题】:What kind of variable/hash is this, and how to loop over it?这是什么类型的变量/哈希,以及如何循环它?
【发布时间】:2014-03-17 13:00:01
【问题描述】:

我有以下脚本:

#!/usr/bin/perl

use strict;
use warnings;

# Downloading the XML
use LWP::Simple;

my $url = "http://meny.no/WebServices/AJAXService.asmx/GetMarkets";
my $content = get($url);

# Creating data from XML
use XML::Simple;
use Data::Dumper;
my $xml = new XML::Simple;

my $data = $xml -> XMLin($content);
my $newdata = Dumper($data);

所以我想知道 $newdata 有什么类型的数据存储,以及如何循环数据?我想将数据插入数据库。

【问题讨论】:

  • $newdata 是一个字符串,以 perl 语法以人类可读的形式显示 $data 的内容。如果您打印$newdata,它很可能会让您深入了解$data,您最有可能真正追求的数据结构是什么。
  • 我假设您现在想知道如何循环访问$data。但除了它是对可能更多哈希和数组的哈希的引用之外,如果没有看到$newdata 的打印输出,我们就无法真正知道这一点。

标签: perl xml-parsing


【解决方案1】:

Data::Dumper::Dumper 返回 Perl 数据结构的序列化字符串表示。您不能真正以有意义的方式遍历字符串,这让我想知道您为什么首先通过 Dumper 运行这些数据。您是否从某个地方复制了代码?通常,当您想要检查数据以进行调试或想要以 Perl 可读格式存储数据时,会使用 Dumper。

我认为您要使用的结构化数据位于由 XML 解析器返回的 $data 变量中。

【讨论】:

  • 是的,我后来删除了 Dumper,我想循环 $data。
猜你喜欢
  • 2010-09-13
  • 1970-01-01
  • 1970-01-01
  • 2021-11-11
  • 2015-11-02
  • 2011-06-19
  • 2015-06-26
  • 2021-09-13
  • 2020-12-15
相关资源
最近更新 更多