我正在尝试使用 XML::Simple 解析 XML 文件,以计算特定标签的出现(即特定于在整个文件中重复的标题的不同城市位置的出现,以便对数字进行进一步分析产生。例如:
<XML>
<title> Teacher </title>
<state> TX </state>
<city> Dallas </city>
<title> Teacher </title>
<state> CA </state>
<city> Los Angeles </city>
<title> Engineer </title>
<state> NY </state>
<city> Manhattan </city>
<title> Engineer </title>
<state> NY </state>
<city> Manhattan </city>
</XML>
我不知何故需要计算标题出现的次数和不同的位置,所以
教师:2 城市:2
工程师:2 城市:1
是)我有的:
#!/usr/bin/env perl
use XML::Simple;
use Data::Dumper;
# initialize variables
my $counter = 0;
my @titlelist = ();
my @citylist = ();
# create object
$xml = new XML::Simple;
# read XML file
my $jobs = $xml->XMLin("sample.xml");
print Dumper($jobs);
foreach my $titles(@{$jobs->{job}}) {
push(@citylist, $titles->{city});
push(@titlelist, $titles->{title});
}
print "@titlelist\n";
print "@citylist\n";
我知道这是超级基本的,我还没有真正制作过任何东西,这是因为我是一个初学者,完全不知道如何从逻辑上解决这个问题。我真的需要帮助来理解我需要用来获得类似这样的输出的结构,并且希望任何指向正确方向的指针。我现在基本上只是将结果推送到数组中。我是否应该进行字符串比较,并基于该增量城市和标题计数器?我需要一个多维数组吗?任何想法都会有所帮助...谢谢!