【发布时间】:2011-05-15 10:26:54
【问题描述】:
我正在编写一个小的 Perl 脚本,它通过 XML::Simple 遍历 XML 文件
my $xml = new XML::Simple;
my $detail= $xml->XMLin($xml_local);
有时,XML 中元素的内容是空的。
当 XML 中的元素中没有内容时,我尝试使用以下命令打印出内容:
print $detail->{Parsing}->{Through}->{XML}->{ElementContents}
我得到了输出:
HASH(0x18948c4)
......或类似的东西......唯一的区别是()之间的字符
我想测试内容是否为空并将变量默认为其他值 - 可能是 '' 或 "" - 除了哈希引用/地址/其他任何值。
我试过这个,但得到一个错误,它不是数组引用:
print $detail->{Parsing}->{Through}->{XML}->{ElementContents}[0]
更新
使用Data::Dumper输出元素之一:
'something' => [
{
'somedetail' => '',
'somedetail' => '',
'somedetail' => 'http://www.google.com'
'somedetail' => 'google',
'somedetail' => '1',
'somedetail' => '01/21/02'
},
如何使用 Perl 测试这些 '' 空字符串?除非启用了某些过滤,否则它们将返回为 HASH(0x18948c4)。
【问题讨论】:
标签: perl validation hash xml-parsing