【发布时间】:2015-11-03 22:51:49
【问题描述】:
所以我在一个 xml 文件中工作,该文件基本上有一个嵌套的元素数组,每个元素都有很多嵌套属性:
<Export land_name="tx">
<Area>
<Location name="foo"
square_feet="10,000"
highway="I-35"/>
<Location name="dog"
square_feet="20,000"
highway="I-45"/>
</Area>
</Export>
我的目标是解析出属性(square_feet、highway、name)并将它们输出到 .csv 文件。我正在使用 XML::Simple,但我使用它的次数越多,我认为我使用了错误的包。我的主要问题是解析嵌套属性的最佳控制结构是什么?我一直在关注不存在的引用或数组引用。这是我到目前为止的代码:
use warnings;
use XML::Simple;
use Data::Dumper;
my $in = "XML_in.xml";
my $xml = XML::Simple->new(KeyAttr => [], ForceArray => [Device], KeepRoot => 1 );
my $Inv = $xml->XMLin($in);
print $Inv->{Export}->{Area}->{Location}->[0]->{name};
如果我的代码有误,是否是 KeyAttr、ForceArray 或 keeproot 的错误使用?
【问题讨论】:
-
是的,你是。甚至文档都说不要使用它。 :)
-
另外,欢迎来到 Stack Overflow!这是一个非常好的第一个问题。 :)
-
没有嵌套属性之类的东西?!?
标签: xml perl parsing attributes elements