【发布时间】:2017-08-25 10:04:38
【问题描述】:
我有一个非常大的 XML 文件,我想列出文档元素的所有子节点。 我正在使用下面的代码,它工作正常,但处理文件需要很长时间,而且它正在从不需要的文档元素中获取数据:
use XML::Simple;
my $xml = XML::Simple->new();
my $d = $xml->XMLin("sample.xml");
my @arr = keys %$d;
print "@arr\n";
示例 XML:
<?xml version="1.0" encoding="ISO-8859-15"?>
<document version="1.0" createdAt="2017-03-31T11:41:34">
<TITLE>Computer Parts</TITLE>
<PART001>
<ITEM>Motherboard</ITEM>
<MANUFACTURER>ASUS</MANUFACTURER>
<MODEL>P3B-F</MODEL>
<COST> 123.00</COST>
</PART001>
<PART002>
<ITEM>Video Card</ITEM>
<MANUFACTURER>ATI</MANUFACTURER>
<MODEL>All-in-Wonder Pro</MODEL>
<COST> 160.00</COST>
</PART002>
<PART003>
<ITEM>Sound Card</ITEM>
<MANUFACTURER>Creative Labs</MANUFACTURER>
<MODEL>Sound Blaster Live</MODEL>
<COST> 80.00</COST>
</PART003>
<PART004>
<ITEM>14 inch Monitor</ITEM>
<MANUFACTURER>LG Electronics</MANUFACTURER>
<MODEL> 995E</MODEL>
<COST> 290.00</COST>
</PART004>
</document>
预期输出: 标题, PART001, PART002, PART003, PART004
谁能建议一种更快更好的方法来获得所需的输出?
【问题讨论】:
标签: xml perl perl-module