# Zeile herausfinden in der ein Fehler beim Einlesen entsteht



## Christian__ (24. Jun 2005)

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 (24. Jun 2005)

> 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"


----------



## Guest (24. Jun 2005)

Danke für die Antwort.

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


----------



## Roar (24. Jun 2005)

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...


----------

