Advanced Java Services | SAXParser und SAXParserFactory |
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.
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 Xml-Datei, die der ContentHandler einlesen soll.
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