Wie parse ich eine xml, die möglicherweise null bis N Knoten mit perl hat?
335
Shon Cleneeto
Wie gehe ich mit einem XML-Code um, bei dem ein oder mehrere Knoten in der Datei in Perl vorkommen?
In der unten bereitgestellten aktuellen Lösung
foreach $FileContainerRec (@{$XmlFile->}) { $FileContainer = 'C'.$FileContainerCt; foreach $FileRec (@{$FileContainerRec->}) { $File = $FileContainer.'file'.$FileCt; $OutFileName = $FileRec->; $ActiveIndicator = $FileRec->; $AuditFlag = $FileRec->; $Delimiter = $FileRec->; @FileDesc=(); @FileDesc=($OutFileName,$ActiveIndicator,$AuditFlag,$Delimiter); $FileList{$File}=[@FileDesc]; $FileCt++; } $FileContainerCt++; $FileCt=1; }
Beispiel-IP-XML:
<Document> <FileContainer> <File> ...... </File> <File> ...... </File> </FileContainer> <FileContainer> <File> ...... </File> <File> ...... </File> </FileContainer> <Document>
Die Sicherheit von und Mai kann zwischen 0 und n betragen.
Das Perl-Code-Snippet wirft einen Fehler wie "Not a ARRAY Referance" aus, wenn wir entweder einen 'FileContainer' - oder 'File'-Knoten haben.
Gibt es einen Grund, warum Sie keine der vielen bereits vorhandenen XML-Parsing-Bibliotheken verwenden?
mtak vor 7 Jahren
1
Perl-Fragen beziehen sich auf das Thema [su].
DavidPostill vor 7 Jahren
0
Sie sollten `XML :: Simple` vermeiden. Die [Dokumentation für das Modul selbst sagt dies] (https://metacpan.org/pod/XML::Simple): * Von der Verwendung dieses Moduls in neuem Code wird abgeraten. Andere Module sind verfügbar, die einfachere und konsistente Schnittstellen bieten. Insbesondere ist "XML :: LibXML" sehr zu empfehlen, und "XML :: Twig" ist eine ausgezeichnete Alternative. * Wenn Sie Ihre Frage bearbeiten, um einige verwendbare XML-Daten anzuzeigen, schreibe ich Beispielcode.
Borodin vor 7 Jahren
0
@mtak: * "Gibt es einen Grund, warum Sie nicht eine der vielen XML-Parsing-Bibliotheken verwenden, die bereits verfügbar sind?" * Es sieht für mich so aus, als würde das OP `XML :: Simple` verwenden.
Borodin vor 7 Jahren
0
Wir können Ihnen nicht wirklich helfen, ohne eine Beschreibung des Problems und einige gültige XML-Daten. *** Wenn Sie Ihre Frage bearbeiten, um einige verwendbare XML-Daten anzuzeigen, schreibe ich Beispielcode. ***
Borodin vor 7 Jahren
0
0 Antworten auf die Frage
Verwandte Probleme
-
8
Anzeigen von XML im Chrome-Browser
-
1
Perl-Skript, das als root ausgeführt wird, kann keine Root-Dinge ausführen
-
1
ksh entspricht perl $! Fehlerursache
-
4
Wie kann ich unformatierte RSS-XML in einem Browser anzeigen?
-
5
Grep-Tool für XML
-
8
Automatisches Parsen von Zitiertext in akademischen Referenzen
-
6
Problem mit einem Dokument: Ungültiges Byte 3 der 3-Byte-UTF-8-Sequenz
-
4
Wie verwalten Sie Perl-Module auf einem Debian-System?
-
3
Wie speichert man ein XML-Dokument in Mac OS X?
-
2
Tool zum Ausfüllen von XML-Dateien auf XSD-Basis