# SAX-Parser



## enne87 (19. Nov 2010)

Hallo Leute!

Ich möchte gerne mithilfe von SAX eine gpx-Dateil laden. Das sind Dateien, die GPS-Koordinaten im XML-Format speichern. Nun habe ich des öfteren gelesen, dass man nicht die SAXParserFactory - Klasse verwenden soll, da diese schlecht implementiert ist.

Daher meine Frage: Wie ladet man sonst eine XML-Datei mit SAX?

Danke und schöne Grüße,

enne


----------



## musiKk (19. Nov 2010)

Naja, so kann man das meiner Meinung nach nicht sagen. Die SAXParserFactory ist Bestandteil von JAXP. Das ist eine Sammlung diverser APIs, die die Verarbeitung von XML erlaubt. Was JAXP auszeichnet ist Austauschbarkeit. Je nachdem wie die Konfiguration ist, geben die verschiedenen Factories auch verschiedene Implementierungen zurück. Diese implementieren jedoch alle die gleichen Interfaces.

Man kann also nicht so richtig sagen, dass die Factory schlecht ist (kann man natürlich schon, halte ich aber für eher unwahrscheinlich), sondern z. B. die Implementierung, die im JRE mitgeliefert wird (wobei ich dazu nicht viel sagen kann, weil ich dergleichen noch nicht gehört habe). Du kannst also relativ gefahrlos gegen die Interfaces arbeiten und später - solltest Du einmal feststellen, dass die Implementierung fehlerhaft, zu langsam, etc. ist - einfach austauschen, ohne eine Zeile Code zu ändern. (Die Konfiguration wird in der Dokumentation erklärt.)


----------



## bone2 (19. Nov 2010)

meine sax experimente im anhang  enthält 2 mögliche wege

ignorier den MessageDigest digest; md5 test der sich da eingeschlichen hat^^


----------



## enne87 (19. Nov 2010)

Hey ihr beiden!

Vielen danke für die Hilfe, besonders für den Code! Noch eine Frage hätte ich: Ich würde gerne mein XML-File gegen diese xsd validieren : http://www.topografix.com/GPX/1/1/gpx.xsd
Was muss ich da nun machen?

Nochmals vielen Dank 

lg enne


----------



## Noctarius (19. Nov 2010)

XML Schema (XSD) Validation using SAXParser


----------



## enne87 (20. Nov 2010)

Aller klar, nochmals vielen Dank, besonders bone2 für den Code 

lg enne


----------

