Perl script zum Parsen von XML mit XML::LibXML;

Ich denke, dies ist ein sehr einfaches Problem, aber ich kann nicht herausfinden, trotz vieler Recherchen.

Ich versuche, die folgenden XML-drucken etwas ähnliches zu-TAG=WERT, so dass ich schreiben kann, diese in eine CSV-Datei. Das problem sind die tags nicht immer das gleiche für jede Probe. Ich kann nicht scheinen, um herauszufinden, wie man den eigentlichen tag-Namen. Jede Hilfe zu schätzen!!!

XML-Datei -

<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>

Skript -

#!/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";

}
InformationsquelleAutor lozwell | 2012-05-01
Schreibe einen Kommentar