dom4j有一个validate的sample,你不妨去读读看

解决方案 »

  1.   

    1.把你的DTD放到你的jar包里或者Classes目录中
    2.用下面的代码装载    EntityResolver resolver = new EntityResolver() {
        public InputSource resolveEntity(String publicId, String systemId) {
            if ( publicId.equals( "-//Acme//DTD Foo 1.2//EN" ) ) {
                InputStream in = getClass().getResourceAsStream(
                    "your.dtd"
                );
                return new InputSource( in );
            }
            return null;
        }
    };SAXReader reader = new SAXReader();
    reader.setEntityResolver( resolver );
    Document doc = reader.parse( "foo.xml" );
    SAXValidator vlidate=new SAXValidator(reader);
    try{
    vlidate. validate(doc);
    }
    catch(SAXException e)
    {
     //
    }
    catch(RuntimeException  e)
    {
    //
    }