http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd
把这个文件下下来,放到某个路径下,然后换成相应的路径就可以了

解决方案 »

  1.   

    一种可行的解决办法:
    1、从Hibernate的压缩包中找到hibernate-mapping-3.0.dtd,与hibernate映射文件放到同一目录下。
    2、每个hibernate映射文件前的DTD改成:
    <!DOCTYPE hibernate-mapping SYSTEM "hibernate-mapping-3.0.dtd"> 这种方式需要改变xml中的DTD,不太好,更好的方式是采用“验证期替换”
    详见:http://www.blogjava.net/dreamstone/archive/2007/08/29/140993.html
      

  2.   

    这个可行 我在用dom4j是遇到问题都这么解决
      

  3.   

    修改dom4j中SAXReader的默认Feature,来去掉dom4j默认解析dtd的处理过程,简单代码如下解析xxx.hbm.xml
    import java.io.File;
    import org.dom4j.Document;
    import org.dom4j.DocumentException;
    import org.dom4j.io.SAXReader;
    import org.xml.sax.SAXException;
    import com.sun.org.apache.xerces.internal.impl.Constants;
    public class TestXml {
    public static void main(String[] args) throws SAXException {
    File file = new File("E:\\hiberante\\xxx.hbm.xml");
    SAXReader reader = new SAXReader();
    reader.setFeature(Constants.XERCES_FEATURE_PREFIX + Constants.LOAD_EXTERNAL_DTD_FEATURE, false);  
    try {
    Document doc = reader.read(file);
    System.out.println(doc.asXML());
    } catch (DocumentException e) {
    e.printStackTrace();
    }
    }
    }
      

  4.   

    http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd 
    把这个文件下下来,放到某个路径下,然后换成相应的路径就可以了
      

  5.   

    http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd 
    把这个文件下下来,放到某个路径下,然后换成相应的路径就可以了
      

  6.   

    http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd 
    把这个文件下下来,放到某个路径下,然后换成相应的路径就可以了