Zeile herausfinden in der ein Fehler beim Einlesen entsteht

Status
Nicht offen für weitere Antworten.
C

Christian__

Gast
Hallo,

ich habe ein kleines Problem mit der Auswertung einer XML-Datei.
Ich möchte gerne dem User mitteilen in welcher Zeile er einen Fehler gemacht hat aber ich finde diese Information leider nicht. Falls am Aufbau der XML-Datei etwas falsch ist bekommt man ja von dem Parser Rückmeldung inklusive der Zeilennummer.

Wie geht das bei Inhaltlichen Fehlern?

Hier z.B. Ausgabe:

Fehler in Zeile 7!

1 <wurzel>
2 <knoten1>
3 <para1>richtiger Parameter</para1>
4 <para2>richtiger Parameter</para2>
5 </knoten1>
6 <knoten2>
7 <para1>falscher Parameter</para1>
8 <para2>richtiger Parameter</para2>
9 </knoten2>
10 </wurzel>


Danke
 

Bleiglanz

Gesperrter Benutzer
Wie geht das bei Inhaltlichen Fehlern?
gar nicht, weil es nach dem parsen keine Zeilennummern mehr "gibt"

einziger Ausweg wäre, mit SAX beim Parsen bei jedem Element über den Locator die Zeilennummer zu holen und diese zwischenspeichern

ContentHandler#setDocumentLocator(Locator locator)

einfacher wäre es aber, wenn du nicht die Zeilennummer ausgibst, sondern eine inhaltliche Fehlermeldung

"in wurzel hat das element knoten2 bei para1 einen falschen Wert"
 
G

Guest

Gast
Danke für die Antwort.

ich wollte halt zu der inhaltlichen Fehlermeldung noch die Zeile ausgeben aber wenn das nicht geht reicht das auch.
 
R

Roar

Gast
Anonymous hat gesagt.:
ich wollte halt zu der inhaltlichen Fehlermeldung noch die Zeile ausgeben aber wenn das nicht geht reicht das auch.

sicher geht das, und zwar so wie Bleiglanz oben geschrieben hat. du musst halt nur auf dom verzichten...
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben