Tutorial
更改JAXP的解析引擎
方式一:设置System property
//使用DOM解析工厂
System.setProperty(“javax.xml.parsers.DocumentBuilderFactory”, “org.apache.xerces.jaxp.DocumentBuilderFactoryImpl”);
//使用SAX解析工厂
System.setProperty(“javax.xml.parsers.SAXParserFactory”, “org.apache.xerces.jaxp.SAXParserFactoryImpl”);
示例使用命名设置系统属性
java -D javax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl DOMTest
方式二:使用jaxp.properties属性文件 (我在JDK1.7中没找到)
该文化在%JAVA_HOME%/jre/lib路径下
示例:
%JAVA_HOME%/jre/lib/jaxp.properties
javax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl javax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl
方式三:jar包里META-INF/services下的文件
这是推荐方法,也是XML解析器最广泛采用的方式。
查看xercesImpl.jar/META-INF/services就可看到相关文件。
方式四:使用默认XML解析器
JAXP使用Xerces为默认解析器。