你把http://xxx.xxx.xxx.xxx/xxx.dtd下载
dtd文档指向下载的文件一般web服务器已经自带了dtd文档
特殊情况特殊处理吧

解决方案 »

  1.   

    如何在不改变xml文件的情况下使得jdom程序能运行??  
    没看见这句话一般web服务器已经自带了dtd文档
    查找一下  
    把那个http://xxx.xxx.xxx.xxx/xxx.dtd下载到相同的目录就可以了
      

  2.   

    还是不可以 :(
    是sourceforge的一份dtd,抛出
    org.jdom.JDOMException: Error in building: hibernate.sourceforge.net
            at org.jdom.input.SAXBuilder.build(SAXBuilder.java:373)
            at org.jdom.input.SAXBuilder.build(SAXBuilder.java:673)
    ...
    Caused by: java.net.UnknownHostException: hibernate.sourceforge.net
            at java.net.InetAddress.getAllByName0(Unknown Source)
            at java.net.InetAddress.getAllByName0(Unknown Source)
    ...
      

  3.   

    是否可以在程序中使用SAXBuilder对象修改dtd地址,
    以达到不去访问远程dtd的目的??
      

  4.   

    不行   是web服务器的事情
    和SAXBuilder一点关系都没有
      

  5.   

    找到了,加两句话
            builder.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
            builder.setFeature("http://xml.org/sax/features/validation", false);
      

  6.   

    just like this:(not JDOM)
    DOMParser parser = new DOMParser();
    try {
    parser.setFeature("http://xml.org/sax/features/validation", false);
    parser.setFeature("http://apache.org/xml/features/dom/include-ignorable-whitespace", false );
      parser.parse( reportFileName );
    } catch (SAXException se) {
    se.printStackTrace();
    System.exit( -1 );
    } catch (IOException ioe) {
    ioe.printStackTrace();
    System.exit( -1 );
    } catch (Exception e ) {
    e.printStackTrace();
    System.exit( -1 );
    }