Ambos parecen tener el mismo objetivo (crear un XMLReader). Algunos tutoriales contienen el uno, algunos el otro.Diferencia SAXParserFactory XMLReaderFactory. ¿Cuál elegir?
SAXParserFactory:
- http://docs.oracle.com/javase/7/docs/api/javax/xml/parsers/SAXParserFactory.html
- parece ser más configurable
- más de la caldera de la placa de código
- apoyo oficial API de código
ejemplo:
// 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
- dos líneas menos código
- menos configurable
- comunidad apoyada y no viene con garantia
código de ejemplo:
// XMLReaderFactory
XMLReader xmlReader = XMLReaderFactory.createXMLReader();
xmlReader.parse(new InputSource("document.xml"));
pregunta:
¿Son estas las principales diferencias o hay algunos que he supervisado.
¿Cuál debe elegir?
SAXParserFactory es JAXP, mientras que XMLReaderFactory es la API SAX "oficial". Recuerdo el viejo libro de SAX2 de O'Reilly que recomendaba la API oficial, debido a la forma en que manejaba los espacios de nombres. No sé si esto ya es relevante. Pero supongo que usaría XMLReaderFactory a menos que necesite JAXP por alguna razón. Tal vez alguien más pueda proporcionar algo de información más actual. –