我用import 导入了一个库:
  import com.sun.org.apache.xerces.internal.parsers.DOMParser;
程序可以使用类DOMParser,但是我在java sdk文档中找不到这个类的定义,这是为什么呢?

解决方案 »

  1.   

    package com.sun.org.apache.xerces.internal.parsers;import java.io.IOException;import com.sun.org.apache.xerces.internal.impl.Constants;
    import com.sun.org.apache.xerces.internal.util.EntityResolverWrapper;
    import com.sun.org.apache.xerces.internal.util.EntityResolver2Wrapper;
    import com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper;
    import com.sun.org.apache.xerces.internal.util.SAXMessageFormatter;
    import com.sun.org.apache.xerces.internal.util.SymbolTable;
    import com.sun.org.apache.xerces.internal.xni.XNIException;
    import com.sun.org.apache.xerces.internal.xni.grammars.XMLGrammarPool;
    import com.sun.org.apache.xerces.internal.xni.parser.XMLConfigurationException;
    import com.sun.org.apache.xerces.internal.xni.parser.XMLEntityResolver;
    import com.sun.org.apache.xerces.internal.xni.parser.XMLErrorHandler;
    import com.sun.org.apache.xerces.internal.xni.parser.XMLInputSource;
    import com.sun.org.apache.xerces.internal.xni.parser.XMLParseException;
    import com.sun.org.apache.xerces.internal.xni.parser.XMLParserConfiguration;
    import org.w3c.dom.Node;
    import org.xml.sax.EntityResolver;
    import org.xml.sax.ErrorHandler;
    import org.xml.sax.InputSource;
    import org.xml.sax.SAXException;
    import org.xml.sax.SAXNotRecognizedException;
    import org.xml.sax.SAXNotSupportedException;
    import org.xml.sax.SAXParseException;
    import org.xml.sax.ext.EntityResolver2;
    import org.xml.sax.helpers.LocatorImpl;/**
     * This is the main Xerces DOM parser class. It uses the abstract DOM
     * parser with a document scanner, a dtd scanner, and a validator, as
     * well as a grammar pool.
     *
     * @author Arnaud  Le Hors, IBM
     * @author Andy Clark, IBM
     *
     * @version $Id: DOMParser.java,v 1.2.6.1 2005/09/06 13:06:37 sunithareddy Exp $
     */
    public class DOMParser
        extends AbstractDOMParser {    //
        // Constants
        //
        
        // features
        
        /** Feature identifier: EntityResolver2. */
        protected static final String USE_ENTITY_RESOLVER2 =
            Constants.SAX_FEATURE_PREFIX + Constants.USE_ENTITY_RESOLVER2_FEATURE;    // properties    /** Property identifier: symbol table. */
        protected static final String SYMBOL_TABLE =
            Constants.XERCES_PROPERTY_PREFIX + Constants.SYMBOL_TABLE_PROPERTY;    /** Property identifier: XML grammar pool. */
        protected static final String XMLGRAMMAR_POOL =
            Constants.XERCES_PROPERTY_PREFIX+Constants.XMLGRAMMAR_POOL_PROPERTY;    /** Recognized properties. */
        private static final String[] RECOGNIZED_PROPERTIES = {
            SYMBOL_TABLE,
            XMLGRAMMAR_POOL,
        };
        
        //
        // Data
        //
        
        // features
        
        /** Use EntityResolver2. */
        protected boolean fUseEntityResolver2 = true;    //
        // Constructors
        //    /**
         * Constructs a DOM parser using the specified parser configuration.
         */
        public DOMParser(XMLParserConfiguration config) {
            super(config);
        } // <init>(XMLParserConfiguration)    /**
         * Constructs a DOM parser using the dtd/xml schema parser configuration.
         */
        public DOMParser() {
            this(null, null);
        } // <init>()    /**
         * Constructs a DOM parser using the specified symbol table.
         */
        public DOMParser(SymbolTable symbolTable) {
            this(symbolTable, null);
        } // <init>(SymbolTable)
        /**
         * Constructs a DOM parser using the specified symbol table and
         * grammar pool.
         */
        public DOMParser(SymbolTable symbolTable, XMLGrammarPool grammarPool) {
            super((XMLParserConfiguration)ObjectFactory.createObject(
                "com.sun.org.apache.xerces.internal.xni.parser.XMLParserConfiguration",
                "com.sun.org.apache.xerces.internal.parsers.XIncludeAwareParserConfiguration"
                ));        // set properties
            fConfiguration.addRecognizedProperties(RECOGNIZED_PROPERTIES);
            if (symbolTable != null) {
                fConfiguration.setProperty(SYMBOL_TABLE, symbolTable);
            }
            if (grammarPool != null) {
                fConfiguration.setProperty(XMLGRAMMAR_POOL, grammarPool);
            }    } // <init>(SymbolTable,XMLGrammarPool)    //
        // XMLReader methods
        //    /**
         * Parses the input source specified by the given system identifier.
         * <p>
         * This method is equivalent to the following:
         * <pre>
         *     parse(new InputSource(systemId));
         * </pre>
         *
         * @param systemId The system identifier (URI).
         *
         * @exception org.xml.sax.SAXException Throws exception on SAX error.
         * @exception java.io.IOException Throws exception on i/o error.
         */
        public void parse(String systemId) throws SAXException, IOException {        // parse document
            XMLInputSource source = new XMLInputSource(null, systemId, null);
            try {
                parse(source);
            }        // wrap XNI exceptions as SAX exceptions
            catch (XMLParseException e) {
                Exception ex = e.getException();
                if (ex == null) {
                    // must be a parser exception; mine it for locator info and throw
                    // a SAXParseException
                    LocatorImpl locatorImpl = new LocatorImpl();
                    locatorImpl.setPublicId(e.getPublicId());
                    locatorImpl.setSystemId(e.getExpandedSystemId());
                    locatorImpl.setLineNumber(e.getLineNumber());
                    locatorImpl.setColumnNumber(e.getColumnNumber());
                    throw new SAXParseException(e.getMessage(), locatorImpl);
                }
                if (ex instanceof SAXException) {
                    // why did we create an XMLParseException?
                    throw (SAXException)ex;
                }
                if (ex instanceof IOException) {
                    throw (IOException)ex;
                }
                throw new SAXException(ex);
            }
            catch (XNIException e) {
                e.printStackTrace();
                Exception ex = e.getException();
                if (ex == null) {
                    throw new SAXException(e.getMessage());
                }
                if (ex instanceof SAXException) {
                    throw (SAXException)ex;
                }
                if (ex instanceof IOException) {
                    throw (IOException)ex;
                }
                throw new SAXException(ex);
            }    } // parse(String)
      

  2.   

    /**
         * parse
         *
         * @param inputSource
         *
         * @exception org.xml.sax.SAXException
         * @exception java.io.IOException
         */
        public void parse(InputSource inputSource)
            throws SAXException, IOException {        // parse document
            try {
                XMLInputSource xmlInputSource =
                    new XMLInputSource(inputSource.getPublicId(),
                                       inputSource.getSystemId(),
                                       null);
                xmlInputSource.setByteStream(inputSource.getByteStream());
                xmlInputSource.setCharacterStream(inputSource.getCharacterStream());
                xmlInputSource.setEncoding(inputSource.getEncoding());
                parse(xmlInputSource);
            }        // wrap XNI exceptions as SAX exceptions
            catch (XMLParseException e) {
                Exception ex = e.getException();
                if (ex == null) {
                    // must be a parser exception; mine it for locator info and throw
                    // a SAXParseException
                    LocatorImpl locatorImpl = new LocatorImpl();
                    locatorImpl.setPublicId(e.getPublicId());
                    locatorImpl.setSystemId(e.getExpandedSystemId());
                    locatorImpl.setLineNumber(e.getLineNumber());
                    locatorImpl.setColumnNumber(e.getColumnNumber());
                    throw new SAXParseException(e.getMessage(), locatorImpl);
                }
                if (ex instanceof SAXException) {
                    // why did we create an XMLParseException?
                    throw (SAXException)ex;
                }
                if (ex instanceof IOException) {
                    throw (IOException)ex;
                }
                throw new SAXException(ex);
            }
            catch (XNIException e) {
                Exception ex = e.getException();
                if (ex == null) {
                    throw new SAXException(e.getMessage());
                }
                if (ex instanceof SAXException) {
                    throw (SAXException)ex;
                }
                if (ex instanceof IOException) {
                    throw (IOException)ex;
                }
                throw new SAXException(ex);
            }    } // parse(InputSource)    /**
         * Sets the resolver used to resolve external entities. The EntityResolver
         * interface supports resolution of public and system identifiers.
         *
         * @param resolver The new entity resolver. Passing a null value will
         *                 uninstall the currently installed resolver.
         */
        public void setEntityResolver(EntityResolver resolver) {        try {
                XMLEntityResolver xer = (XMLEntityResolver) fConfiguration.getProperty(ENTITY_RESOLVER);
                if (fUseEntityResolver2 && resolver instanceof EntityResolver2) {
                    if (xer instanceof EntityResolver2Wrapper) {
                        EntityResolver2Wrapper er2w = (EntityResolver2Wrapper) xer;
                        er2w.setEntityResolver((EntityResolver2) resolver);
                    }
                    else {
                        fConfiguration.setProperty(ENTITY_RESOLVER,
                                new EntityResolver2Wrapper((EntityResolver2) resolver));
                    }
                }
                else {
                    if (xer instanceof EntityResolverWrapper) {
                        EntityResolverWrapper erw = (EntityResolverWrapper) xer;
                        erw.setEntityResolver(resolver);
                    }
                    else {
                        fConfiguration.setProperty(ENTITY_RESOLVER,
                                new EntityResolverWrapper(resolver));
                    }
                }
            }
            catch (XMLConfigurationException e) {
                // do nothing
            }    } // setEntityResolver(EntityResolver)    /**
         * Return the current entity resolver.
         *
         * @return The current entity resolver, or null if none
         *         has been registered.
         * @see #setEntityResolver
         */
        public EntityResolver getEntityResolver() {        EntityResolver entityResolver = null;
            try {
                XMLEntityResolver xmlEntityResolver =
                    (XMLEntityResolver)fConfiguration.getProperty(ENTITY_RESOLVER);
                if (xmlEntityResolver != null) {
                    if (xmlEntityResolver instanceof EntityResolverWrapper) {
                        entityResolver =
                            ((EntityResolverWrapper) xmlEntityResolver).getEntityResolver();
                    }
                    else if (xmlEntityResolver instanceof EntityResolver2Wrapper) {
                        entityResolver = 
                            ((EntityResolver2Wrapper) xmlEntityResolver).getEntityResolver();
                    }
                }
            }
            catch (XMLConfigurationException e) {
                // do nothing
            }
            return entityResolver;    } // getEntityResolver():EntityResolver    /**
         * Allow an application to register an error event handler.
         *
         * <p>If the application does not register an error handler, all
         * error events reported by the SAX parser will be silently
         * ignored; however, normal processing may not continue.  It is
         * highly recommended that all SAX applications implement an
         * error handler to avoid unexpected bugs.</p>
         *
         * <p>Applications may register a new or different handler in the
         * middle of a parse, and the SAX parser must begin using the new
         * handler immediately.</p>
         *
         * @param errorHandler The error handler.
         * @exception java.lang.NullPointerException If the handler
         *            argument is null.
         * @see #getErrorHandler
         */
        public void setErrorHandler(ErrorHandler errorHandler) {        try {
                XMLErrorHandler xeh = (XMLErrorHandler) fConfiguration.getProperty(ERROR_HANDLER);
                if (xeh instanceof ErrorHandlerWrapper) {
                    ErrorHandlerWrapper ehw = (ErrorHandlerWrapper) xeh;
                    ehw.setErrorHandler(errorHandler);
                }
                else {
                    fConfiguration.setProperty(ERROR_HANDLER,
                            new ErrorHandlerWrapper(errorHandler));
                }
            }
            catch (XMLConfigurationException e) {
                // do nothing
            }    } // setErrorHandler(ErrorHandler)
      

  3.   

    在默认jdk里都有
    在你没删的前提下,
      

  4.   

    这个包存在于apche服务器中,你把网线拔了你看还能导入吗?明白了吧!
      

  5.   

    难道说在使用这个包的时候还需要启动apache吗?我使了以下不用呀。
    如果在默认jdk中都有的话为什么帮助文挡中确没有呢?