问一个perl解析xml的问题。
时间:2010-10-28
来源:互联网
大家好,
我使用perl解析一个非常简单的xml字符串。
xml字符串如下:
复制代码
解析代码如下:
复制代码
哈希表VAR打印出来如下:
$VAR1 = {
'fid' => '4769',
'branch' => [
'edream2.1-feature-interactive-timescape-widget',
'edream2.1-feature-interactive-timescape-widget'
]
};
但是怎样能取到branch数组的值呢,
复制代码
这几行好像不太管用。
谢谢
我使用perl解析一个非常简单的xml字符串。
xml字符串如下:
- <?xml version="1.0"?>
- <results fid="4769">
- <branch>edream2.1-feature-interactive-timescape-widget</branch>
- <branch>edream2.1-feature-interactive-timescape-widget</branch>
- </results>
- use XML::Simple;
- use Data::Dumper;
-
- my %Feature_Git_Branch_List;
- # key:fp_id
- # value array |branch_name1|branch_name2|....
-
- my $xml = new XML::Simple;
- my $data = $xml->XMLin($res->content);
- # print output
- my %VAR = Dumper($data);
- print DB_LOG_FILE %VAR;
- my @branch_array = $VAR{"branch"};
- print DB_LOG_FILE @branch_array;
- $Feature_Git_Branch_List{$key} = \@branch_array;
$VAR1 = {
'fid' => '4769',
'branch' => [
'edream2.1-feature-interactive-timescape-widget',
'edream2.1-feature-interactive-timescape-widget'
]
};
但是怎样能取到branch数组的值呢,
- my @branch_array = $VAR{"branch"};
- print DB_LOG_FILE @branch_array;
- $Feature_Git_Branch_List{$key} = \@branch_array;
谢谢
作者: hepower 发布时间: 2010-10-28
@array = @{$data->{branch}}
作者: yybmsrs 发布时间: 2010-10-28
QUOTE:
@array = @{$data->{branch}}
yybmsrs 发表于 2010-10-28 15:41
yybmsrs 发表于 2010-10-28 15:41
你好,谢谢回复!你给的代码可行,我想问问
@{$data->{branch}};
这行是什么意思
$data难道是个哈希表么?
如果是哈希表,应该用$data{key}来取元素啊?
另外,branch这个key有可能有,有可能没有,
key存在的情况下
对应的value也许是一个值,也许是一个数组,请问该怎么写呢?
作者: hepower 发布时间: 2010-10-28
reference
http://perldoc.perl.org/perlreftut.html
http://perldoc.perl.org/perlreftut.html
作者: zhlong8 发布时间: 2010-10-28
回复 hepower
复制代码
具体可以查看perl reference的文档
- my $xml = new XML::Simple;
- my $data = $xml->XMLin("1.xml");
-
- print Dumper($data);
-
- if(exists $data->{branch})
- {
- my @array = ref($data->{branch}) ? @{$data->{branch}} : ($data->{branch});
- print @array
- }
作者: yybmsrs 发布时间: 2010-10-28
QUOTE:
回复 hepower 具体可以查看perl reference的文档
yybmsrs 发表于 2010-10-28 16:16
yybmsrs 发表于 2010-10-28 16:16
好的,谢谢,有时间我好好看看,perl太灵活了。。。。
作者: hepower 发布时间: 2010-10-28
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28