如何使用 perl 解析可能具有零到 N 个节点的 xml

如何使用 perl 解析可能具有零到 N 个节点的 xml

如何在 perl 中处理文件中可能出现一个或多个节点的 xml。

在下面提供的当前解决方案中,

foreach $FileContainerRec (@{$XmlFile->{FileContainer}})
{
    $FileContainer           = 'C'.$FileContainerCt;
     foreach $FileRec (@{$FileContainerRec->{File}}) 
     {
       $File                   = $FileContainer.'file'.$FileCt;
       $OutFileName            = $FileRec->{OutFileName};
       $ActiveIndicator        = $FileRec->{ActiveIndicator};
       $AuditFlag              = $FileRec->{AuditFlag};
       $Delimiter              = $FileRec->{Delimiter};
       @FileDesc=();
       @FileDesc=($OutFileName,$ActiveIndicator,$AuditFlag,$Delimiter);
       $FileList{$File}=[@FileDesc];
       $FileCt++;
     }
     $FileContainerCt++;
     $FileCt=1;
} 

示例 ip xml:

<Document>
<FileContainer>
<File>
......
</File>
<File>
......
</File>
</FileContainer>
<FileContainer>
<File>
......
</File>
<File>
......
</File>
</FileContainer>
<Document>

和 的出现次数可能是0到n次。

当我们有一个“FileContainer”或“File”节点时,perl 代码片段会抛出“不是 ARRAY 引用”的错误。

相关内容