这是我回来,我需要解析XML 2个属性。我需要提取的数据是CategoryMapping节点的属性“id”和“oldID”。如何解析XML节点使用XML ::简单和perl
<GetCategoryMappingsResponse
xmlns="urn:ebay:apis:eBLBaseComponents">
<Timestamp>2017-05-26T13:51:34.492Z</Timestamp>
<Ack>Success</Ack>
<Version>989</Version>
<Build>E989_CORE_API_18131074_R1</Build>
<CategoryMapping id="183872" oldID="43010"/>
<CategoryMapping id="183322" oldID="20483"/>
<CategoryMapping id="1290" oldID="43014"/>
<CategoryMapping id="183888" oldID="43015"/>
<CategoryMapping id="48718" oldID="43016"/>
<CategoryMapping id="183051" oldID="45064"/>
...
<CategoryMapping id="183174" oldID="83983"/>
<CategoryMapping id="184437" oldID="15"/>
<CategoryMapping id="183185" oldID="83984"/>
<CategoryVersion>117</CategoryVersion>
</GetCategoryMappingsResponse>
这是我曾尝试perl的,但它没有返回所有的数据
foreach $key (keys $data->{CategoryMapping}) {
print "($rownum) id=$key ";
my %new_hash = %{$data->{CategoryMapping}{$key}};
foreach $key2 (keys %new_hash) {
print "$key2=$new_hash{$key2}<br/>";
}
}
你是如何调用XML ::简单的分歧?你排除了一些可能很重要的代码。 – AKHolland
*“这是我回来,我需要解析XML” *如果您在返回它,那么你已经拥有的数据,并没有必要来分析你刚刚创造了什么? – Borodin
请有恩典缩进你的XML数据和Perl代码,以便那些可以免费回答你的人可读。请阅读[*如何编辑*](https://stackoverflow.com/editing-help)以帮助您确保正确使用Markdown。 – Borodin