Oba wydają się mieć ten sam cel (utworzyć XMLReader). Niektóre samouczki zawierają jeden, a drugi inny.Różnica SAXParserFactory XMLReaderFactory. Który wybrać?
SAXParserFactory:
- http://docs.oracle.com/javase/7/docs/api/javax/xml/parsers/SAXParserFactory.html
- wydaje się być bardziej konfigurowalny
- więcej boiler-talerz kod
- oficjalnie wspierany api
przykładowy kod:
// 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
- dwóch liniach mniej kod
- mniej konfigurowalny
- Komunalne wspierane i przychodzi bez waranty
przykładowy kod:
// XMLReaderFactory
XMLReader xmlReader = XMLReaderFactory.createXMLReader();
xmlReader.parse(new InputSource("document.xml"));
pytanie:
Są to główne różnice czy istnieją pewne, w jakim nadzorowane.
Którą wybrać?
SAXParserFactory to JAXP, a XMLReaderFactory to "oficjalny" interfejs SAX API. Pamiętam starą książkę SAX2 od O'Reilly zalecającą oficjalne API, ze względu na sposób, w jaki obsługiwał przestrzenie nazw. Nie wiem, czy to już jest istotne. Ale, Chyba użyłbym XMLReaderFactory, chyba że z jakiegoś powodu potrzebowałem JAXP. Może ktoś inny może dostarczyć trochę więcej bieżących danych wejściowych. –