【发布时间】:2012-02-21 18:49:00
【问题描述】:
我很难编写 Perl 脚本来正确解析如下所示的 XML 文件:
<Report name="NAME">
<ReportHost name="UNIQUE_1"><HostProperties>
<tag name="TAG_1">tag_value</tag>
<tag name="TAG_2">tag_value</tag>
</ReportHost>
<ReportHost name="UNIQUE_2"><HostProperties>
<tag name="TAG_1">tag_value</tag>
<tag name="TAG_2">tag_value</tag>
</ReportHost>
现在,我需要能够以某种方式调用那些 UNIQUE_n,但我无法做到。 Dumper 返回如下结构:
'Report' => {
'ReportHost' => {
'UNIQUE_1' => {
'HostProperties' => {
'tag' => { [...]
我尝试了 ForceArray,但无法使 ReportHost 成为一个数组,并且惨遭失败。
【问题讨论】:
-
到底是什么问题?您有
$data->{Report}{ReportHost}{UNIQUE_1}、$data->{Report}{ReportHost}{UNIQUE_2}等。如果您需要遍历主机名,keys。 -
HostProperties的结束标签在哪里? XML 似乎不正确。
标签: perl xml-parsing xml-simple