] Perl-скрипт для анализа XML с использованием XML ::LibXML;

Я думаю, что это очень простая проблема, но я не могу понять ее, несмотря на множество поисков

Я пытаюсь разобрать следующий XML, чтобы вывести что-то похожее в TAG=VALUE, чтобы я мог записать это в файл CSV. проблема в том, что теги не всегда одинаковы для каждого образца. Я не могу понять, как получить фактические имена тегов. Любая помощь приветствуется!!!

XML-файл-

<Statistics>
  <Stats>
    <Sample>
        <Name>System1</Name>
        <Type>IBM</Type>
        <Memory>2GB</Memory>
        <StartTime>2012-04-26T14:30:01Z</StartTime>
        <EndTime>2012-04-26T14:45:01Z</EndTime>
    </Sample>

    <Sample>
        <Name>System2</Name>
        <Type>Intel</Type>
        <Disks>2</Disks>
        <StartTime>2012-04-26T15:30:01Z</StartTime>
        <EndTime>2012-04-26T15:45:01Z</EndTime>
        <Video>1</Video>
    </Sample>
  </Stats>
</Statistics>

Сценарий-

#!/usr/bin/perl
use XML::LibXML;

$filename = "data.xml";

my $parser = XML::LibXML->new();
my $xmldoc = $parser->parse_file($filename);

for my $sample ($xmldoc->findnodes('/Statistics/Stats/Sample')) {

print $sample->nodeName(), ": ", $sample->textContent(), "\n";

}
8
задан lozwell 1 May 2012 в 20:50
поделиться