我使用XML :: Simple来解析XML文件.输出是一个哈希值.(使用Data :: Dumper)
示例代码,XML文件在下面给出了输出.
Perl代码:
use XML::Simple;
use Data::Dumper;
$xml = new XML::Simple;
$data = $xml->XMLin("spam.xml");
print Dumper($data);
Run Code Online (Sandbox Code Playgroud)
XML文件内容(输入到解析器)::
<Attach_request>
<Protocol_discriminator>
<name> Protocol_discriminator </name>
<attribute> Mandatory </attribute>
<type> nibble </type>
<value> 7 </value>
<min> 0 </min>
<max> F </max>
</Protocol_discriminator>
<Security_header>
<name> Security_header </name>
<attribute> Mandatory </attribute>
<type> nibble </type>
<value> 7 </value>
<min> 0 </min>
<max> F </max>
</Security_header>
<Security_header1>
<name> Security_header </name>
<attribute> Mandatory </attribute>
<type> nibble </type>
<value> 7 </value>
<min> 0 </min>
<max> F </max>
</Security_header1>
<Security_header2>
<name> Security_header </name>
<attribute> Mandatory </attribute>
<type> nibble </type>
<value> 7 </value>
<min> 0 </min>
<max> F </max>
</Security_header2>
<Security_header3>
<name> Security_header </name>
<attribute> Mandatory </attribute>
<type> nibble </type>
<value> 7 </value>
<min> 0 </min>
<max> F </max>
</Security_header3>
</Attach_request>
Run Code Online (Sandbox Code Playgroud)
输出::
$VAR1 = {
'Security_header3' => {
'attribute' => ' Mandatory ',
'min' => ' 0 ',
'value' => ' 7 ',
'max' => ' F ',
'name' => ' Security_header ',
'type' => ' nibble '
},
'Protocol_discriminator' => {
'attribute' => ' Mandatory ',
'min' => ' 0 ',
'value' => ' 7 ',
'max' => ' F ',
'name' => ' Protocol_discriminator ',
'type' => ' nibble '
},
'Security_header2' => {
'attribute' => ' Mandatory ',
'min' => ' 0 ',
'value' => ' 7 ',
'max' => ' F ',
'name' => ' Security_header ',
'type' => ' nibble '
},
'Security_header' => {
'attribute' => ' Mandatory ',
'min' => ' 0 ',
'value' => ' 7 ',
'max' => ' F ',
'name' => ' Security_header ',
'type' => ' nibble '
},
'Security_header1' => {
'attribute' => ' Mandatory ',
'min' => ' 0 ',
'value' => ' 7 ',
'max' => ' F ',
'name' => ' Security_header ',
'type' => ' nibble '
}
};
Run Code Online (Sandbox Code Playgroud)
我的另一个问题是:
如果你看到XML :: Simple的文档,它就说明了这一点
XML :: Simple能够呈现一个简单的API,因为它代表您做出一些假设.这些包括:
您对仅由空格组成的文本内容不感兴趣
你不介意当事情陷入哈希时,订单就会丢失
您不希望对生成的XML的格式进行细粒度控制
您永远不会使用不是合法XML元素名称的哈希键
您不需要在不同编码之间进行转换的帮助.
对于基于树的解析,您可以选择XML :: Twig的"Perlish"方法和更多基于标准的DOM实现 - 最好是支持XPath的方法.
有关更多详细信息,另请参阅" Perl-XML FAQ ".
| 归档时间: |
|
| 查看次数: |
548 次 |
| 最近记录: |