Advanced   Java   Services SAXParser und SAXParserFactory Back Next Up Home


Factory

Eine etwas einfachere Variante bietet uns die javax.xml.parsers.SAXParserFactory. Mit ihr erzeugen wir eine Instanz von javax.xml.parsers.SAXParser. Diese Klasse bietet eine Reihe von parse()-Methoden an. Sie erhalten neben der zu parsenden Instanz ein Objekt vom Typ org.xml.sax.helpers.DefaultHandler oder eines vom Typ org.xml.sax.HandlerBase. Letzteres wird aus Gründen der Abwärtskompabilität zu SAX 1.0 noch angeboten.


Codeschema main
try
{
   SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
   SAXParser saxParser = saxParserFactory.newSAXParser(); //ParserConfigurationException, SAXException
   File xmlFile = new File("buecher.xml");
   DefaultHandler myHandler = new MyDefaultHandler1();
   saxParser.parse(xmlFile, myHandler) ;  // IOException
}
catch (ParserConfigurationException | SAXException | IOException ex)
{
   ex.printStackTrace();
}

Die Factory erzeugt einen SAXParser vom Typ com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl.


Die Beispieldatei

Die Xml-Datei, die der ContentHandler einlesen soll.

Wie im vorigen Beispiel


Der leere DefaultHandler

Wie im vorigen Beispiel


Der fertige DefaultHandler

Wie im vorigen Beispiel


Programmoutput
com.sun.org.apache.xerces.internal.parsers.SAXParser@691177
Buch (paperback)
Titel: Deutschland, ein Wintermaerchen
Autor: Heinrich Heine
ISBN: 123456789
Buch (paperback)
Titel: Der Untertan
Autor: Heinrich Mann
ISBN: 234567891
Buch (hardcover)
Titel: Erfolg
Autor: Lion Feuchtwanger
ISBN: 345678912

Valid XHTML 1.0 Strict top Back Next Up Home