[Dresden-pm] Return-Wert von parse_file() XML::LibXML

Andreas Kunert-Werneburg akunert at main-rheiner.de
Mo Aug 11 02:51:54 PDT 2008


Hallo,

ich habe ein kleines Problem mit einem Skript, welches XML-Dateien 
parsen soll.
Solange valides XML geliefert wird, klappt auch alles super.
Nur wenn es nicht valide ist, habe ich das Problem.

Das Skript arbeitet zweistufig. Zuerst werden die XML-Dateien aus dem 
Eingangsverzeichnis in das Warte-Verzeichnis verschoben und dann der 
Parser aufgerufen, der dann die Dateien im Warte-Verzeichnis abarbeiten 
soll.

Jetzt würde ich gern VOR dem Verschieben testen, ob das XML-File valide 
ist. Ist das nicht der Fall, so soll es in einen anderen Ordner 
verschoben werden und der Parser NICHT gestartet werden.

ich arbeite mit XML::LibXML und frage mich, ob ich bei
my $document = $parser->parse_file($xmlfilename);
einen Returnwert erhalten würde, mithilfe dessen ich die entsprechende 
Verschiebe-Operation einleiten kann.

Mal laienhaft:
------------------------------------------
$parser = new XML::LibXML;
if($parser->parse_file($xmlfile) == TRUE){
verschiebe nach A und rufe Parser auf;
} else {
verschiebe nach B und melde Fehler per Mail;
}
-------------------------------------------

Mir gehts eigentlich nur darum, zu prüfen, ob die Datei valides XML 
enthält. Den Rest bekomme ich dann schon hin.

Danke!

Gruß Andreas



Mehr Informationen über die Mailingliste Dresden-pm