Aaaaargh. Ich habs gewusst, das dass irgendso ein Deppenfehler ist. Natürlich muss ich das Doc erst laden, bevor ichs validieren kann. Das ist das Problem, wenn man von XmlTextReader über XmReader bis hin zum XmlDoc alles ausprobiert und irgendwann den Wald vor Bäumen nicht sieht.
Okay, nun habe ich aber das Problem, dass die Validierung nicht stattfindet. Ein korrektes XML lässt sich sauber parsen, aber wenn ich z.B. die Zeile
XML-Daten
1:
| <sourceSystemId>518202</sourceSystemId> |
aus der XML lösche und das programm laufen lasse, landet der Code wie auch ohne Prüfung bei der Zeile
C#-Quelltext
1:
| j.SourceSystem = doc.SelectSingleNode("/root/header/sourceSystem").InnerText; |
in einer "NullReferenceException". Gut, das macht ja auch Sinn , da ja die angegebene Zeile auch nicht existiert. Die Zeile
C#-Quelltext
1:
| doc.Validate(ValidationEventHandler); |
in der ich erwarten würde, das ein eventueller Fehler im XML abgefangen wird, wird im Debug aber einfach übergangen (sprich der ValidationEventHandler wird nicht gefeuert).
Zugegebenermasse befinde ich mit Events und Delegates noch ein wenig auf "Verständniskriegsfuss", ich denke ich gehe da noch irgendwie falsch dran.
Gruss Dave