Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Wie kann ich beim XML Reader Exceptions voneinander Unterscheiden?
CrocodileDundee
myCSharp.de - Member



Dabei seit:
Beiträge: 54

Themenstarter:

Wie kann ich beim XML Reader Exceptions voneinander Unterscheiden?

beantworten | zitieren | melden

Hallo zusammen,
ich parse eine XML-Datei mit XMLReader.

Dabei möchte ich zwischen den Exceptions
- "Unerwartetes Dateieende" und
- "Fehlendes Start-Element" (d.h. ein Knoten wurde geschlossen, der vorher nicht geöffnet wurde)
unterscheiden können.

Die Property "Message" möchte ich dazu nicht verwenden, da deren Formulierung sich eventuell ändern könnte und das Programm auch auf verschieden-sprachigen Systemen laufen soll.

Auch die Property "HRESULT" bietet mir keine Unterscheidungsmöglichkeit, da der zurückgegebene Errorcode immer gleich ist (0x80131940).

Und außerdem werden beide Exceptions mit der Klasse "XmlException" abgefangen.

Alle übrigen Properties der Exception-Klassen scheinen auch keine Unterscheidungsmöglichkeit zu bieten.

Bin daher momentan ziemlich ratlos und hoffe auf einen Tipp von euch.

Vielen Dank und viele Grüße
Frank
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15536
Herkunft: BW

beantworten | zitieren | melden

Bei der XmlDocument-Klasse (bzw. System.Xml Namespace) ist das leider nur über die Messages und damit Strings möglich.
Wenn Du sowas brauchst dann bleibt Dir an der Stelle nur der Wechsel auf einen anderen Parser übrig.
private Nachricht | Beiträge des Benutzers
T-Virus
myCSharp.de - Member



Dabei seit:
Beiträge: 1768
Herkunft: Nordhausen, Nörten-Hardenberg

beantworten | zitieren | melden

Klingt auch erst einmal danach, dass du ungültiges XML bekommst und dieses Validieren musst.
Hast du hier eine Schemadatei, dann kannst du das XmlDocument per Validate auch validieren und prüfen lassen.
Exceptions sind hier keine sinnvolle Lösung und auch nicht brauchbar um Xml Validieren zu lassen.
Dafür kann es auch noch weitere Fehler geben, die du nicht über Exception Messages abfangen kannst.

Falls du kein Schema hast, dann wird es knifflig.
Wenn die Struktur fest ist, könntest du selbst ein Schema für die Dateien anlegen und die Dateien gegen das Schema validieren lassen.

XmlDocument.Validate

T-Virus
Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.
private Nachricht | Beiträge des Benutzers