它们似乎都有相同的目的(创建一个XMLReader).一些教程包含一个,另一个包含.
的SAXParserFactory:
示例代码:
// SAXParserFactory
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser parser = factory.newSAXParser();
XMLReader reader = parser.getXMLReader();
reader.parse(new InputSource("document.xml"));
Run Code Online (Sandbox Code Playgroud)
XMLReaderFactory:
示例代码:
// XMLReaderFactory
XMLReader xmlReader = XMLReaderFactory.createXMLReader();
xmlReader.parse(new InputSource("document.xml"));
Run Code Online (Sandbox Code Playgroud)
题:
这些是主要的差异还是有一些我已经监督过.
你应该选择哪一个?
主要内容JAXP APIs在包中定义javax.xml.parsers。该包包含供应商中立的工厂类,例如为SAXParserFactory您提供 S 的工厂类AXParser。
它SAXParserFactory定义了一个工厂 API,使应用程序能够配置和获取基于 SAX 的解析器来解析 XML 文档。
定义SAXParser了包装 XMLReader 实现类的 API。
该包org.xml.sax定义了基本的 SAX API。
Java 运行时带有默认实现XMLReader
SAXParserFactory对您隐藏 (SAX1) ParserFactory / (SAX2) XMLReaderFactory, ... 的详细信息。
如果您希望能够JAXP用不同的JAXP解析器替换默认的解析器(默认实现中可能存在已知的不兼容/错误)实现,您应该使用供应商中立的SAXParserFactory。
如果您知道您的应用程序将始终使用 a,SAX2 XMLReader您可以使用XMLReaderFactory.