Today, I saw the article on XML on Javaeye, I realized something.
http://forum.javaeye.com/viewtopic.php?t=75&postdays=0&postorder=asc&start=0
JAXP is the standard interface of the XML operation provided in Sun JDK. Org.apache.crimson package can be found in JAR. If you need to use another XML parser, you need to be specifically configured.
The following from:
Http://dev.9cbs.net/develop/Article/61/Article/54/54381.shtm
1. System properties javax.xml.Parsers.DocumentBuilderFactory or javax.xml.parsers.saxparserfactory
2. Javax.xml.Parsers.DocumentBuilderFactory or javax.xml.parsers.SaxParserFactory property set in JDK-DIR / LIB / JAXP.PROPERTIES
3. The value set in Meta-INF / Services / Javax.xml.ParsRS.DocumentBuilderFactory or javax.xml.parsers.SaxParserFactory files during the running jar package
4. If the parser above is not found, crimson is used. If not yet. . . . . . That can only ClassNotFound. After testing, in JDK1.4, it is like this. Like Robbin, open the JVM's -verbose parameter, you can see the class loaded by default is [java] [loaded org.jdom.contentlist] [java] [Loaded java.lang.clonnotsupportedException from d: /jdk1.4/jre/lib/rt.jar] [java] [loaded java.lang.indexoutofboundsexception from d: /jdk1.4/jre/lib/rt.jar] [ Java] [loaded org.jdom.input.jaxpparserfactory] [java] [loaded javax.xml.parsers.ParserConfigurationException from d: /jdk1.4/jre/lib/rt.jar] [java] [loaded javax.xml.parsers . Saxparserfactory from d: /jdk1.4/jre/lib/rt.jar] [java] [loaded javax.xml.parsers.FactoryFinder from d: /jdk1.4/jre/lib/rt.jar] [java] [ Loaded javax.xml.parsers.FactoryFinder $ ClassLoaderfinder from D: /jdk1.4/jre/lib/rt.jar] [Java] [loaded javax.xml.parsers.factoryFinder $ ClassLoaderFinderConcrete from D: /jdk1.4/jre/ LIB / RT.JAR] [Java] [loaded org.apache.crimson.jaxp.saxparserfactoryImpl from d: /jdk1.4/jre/lib/rt.jar] [java] [loaded javax.xml.parsers.saxparser from d : /jdk1.4/jre/lib/rt.jar] [Java] [loading org.a Pache.crimson.jaxp.saxparserimpl from d: /jdk1.4/jre/lib/rt.jar] [java] [loaded org.apache.crimson.parser.xmlreaderImpl from d: /jdk1.4/jre/lib/rt .jar] Opening RT.jar is to find these Class. The same test is also used for JDK5.0, and found that JDK5.0 is used by Xerces, org.apache.xerces put it in the com.sun package, remember that there is a SUN package in JAVasearch. It is not disclosed.
[Java] [Loaded javax.xml.parsers.ParserConfigurationException from shared objects file] [java] [Loaded javax.xml.parsers.SAXParserFactory from shared objects file] [java] [Loaded javax.xml.parsers.FactoryFinder from shared objects file ] [java] [Loaded javax.xml.parsers.SecuritySupport from shared objects file] [java] [Loaded javax.xml.parsers.SecuritySupport $ 2 from shared objects file] [java] [Loaded javax.xml.parsers.SecuritySupport $ 1 from shared objects file] [java] [Loaded javax.xml.parsers.SecuritySupport $ 5 from shared objects file] [java] [Loaded javax.xml.parsers.SecuritySupport $ 4 from shared objects file] [java] [Loaded com.sun.org .apache.xerces.internal.jaxp.saxparserfactoryImpl from d: /jdk1.5/jre/lib/rt.jar] [java] [loaded com.sun.org.Apache.xerces.internal.jaxp.jaxpConstants from D: / JDK1.5 / jre / lib / rt.jar] [java] [loaded javax.xml.parsers.saxparser from shared objects file] [java] [loaded com.sun.org.Apache.XERCES.InTernal.jaxp.saxpa Rserimpl from d: /jdk1.5/jre/lib/rt.jar] [java] [loaded com.sun.org.Apache.XERCES.INTERNAL.UTIL.SecurityManager from d: /jdk1.5/jre/lib/rt .jar] [java] [loaded com.sun.org.Apache.XERCES.INTERNAL.XNI.PARSER.XMLComponentManager from d: /jdk1.5/jre/lib/rt.jar]