Entrambi sembrano avere lo stesso scopo (creare un XMLReader). Alcuni tutorial contengono l'uno, l'altro.Differenza SAXParserFactory XMLReaderFactory. Quale scegliere?
SAXParserFactory:
- http://docs.oracle.com/javase/7/docs/api/javax/xml/parsers/SAXParserFactory.html
- sembra essere più configurabile
- più boilerplate code
- ufficialmente supportato api codice
esempio:
// SAXParserFactory
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser parser = factory.newSAXParser();
XMLReader reader = parser.getXMLReader();
reader.parse(new InputSource("document.xml"));
XMLReaderFactory:
- http://docs.oracle.com/javase/7/docs/api/org/xml/sax/helpers/XMLReaderFactory.html
- due linee meno codice
- meno configurabile
- comunity supportato e viene senza waranty
esempio di codice:
// XMLReaderFactory
XMLReader xmlReader = XMLReaderFactory.createXMLReader();
xmlReader.parse(new InputSource("document.xml"));
domanda:
Sono queste le principali differenze o ci sono alcuni che ho supervisionato.
Quale scegliere?
SAXParserFactory è JAXP, mentre XMLReaderFactory è l'API SAX "ufficiale". Ricordo il vecchio libro SAX2 di O'Reilly che raccomandava l'API ufficiale, a causa del modo in cui gestiva gli spazi dei nomi. Non so se questo è più rilevante. Ma suppongo che userò XMLReaderFactory a meno che non abbia bisogno di JAXP per qualche motivo. Forse qualcun altro può fornire un po 'più di input corrente. –