Thread XML::DOM::Parser: Was wenn XML Fehlerhaft ist? (5 answers)
Opened by GwenDragon at 2006-05-27 16:17

bsnoop
 2006-05-26 22:19
#66802 #66802
User since
2006-03-30
25 Artikel
BenutzerIn
[default_avatar]
Moin, moin,

aktuell habe ich ein Skript laufen, dass viele RSS-Feeds einlesen und verarbeiten muss. Das erledige ich mit XML::DOM und das funktioniert soweit auch super.

Wenn jetzt allerdings der Parser auf ein fehlerhaftes XML-Dokument trifft bricht dieser mit Fehlermeldung ab (was ja prinzipiell auch richtig ist).

Nun möchte ich aber gerne auf jeden Fall den Inhalt bestimmter Elemente auslesen, wobei es mir egal ist ob der Inhalt den XML-Standards entspricht. Das bekomme ich irgendwie nicht hin.

Ich kann zwar die Fehlermeldung abfangen mit eval und zum nächsten Feed übergehen, aber die fehlerhaften möchte ich nicht übergehen.

Momentan sieht es wie folgt aus:

Code: (dl )
1
2
3
4
5
6
7
8
$parser =  XML::DOM::Parser->new();
eval {$ResponseDoc = $parser->parse ($feedcontent);};

if($@){
xyz
}

#... hier dann die Verarbeitung wenn es soweit kommt


Eine Option beim initialisieren des Parsers, die den Abbruch im Fehlerfall verhindert habe ich nirgends gefunden (habe alle möglichen XML-Parser ausprobiert).

Gibt es da eine Möglichkeit?

View full thread XML::DOM::Parser: Was wenn XML Fehlerhaft ist?