how to disable dtd at runtime in java's xpath?

后端 未结 3 1679
悲&欢浪女
悲&欢浪女 2020-12-01 16:30

I got dtd in file and I cant remove it. When i try to parse it in Java I get \"Caused by: java.net.SocketException: Network is unreachable: connect\", because its remote dtd

3条回答
  •  有刺的猬
    2020-12-01 17:24

    This worked for me:

     SAXParserFactory saxfac = SAXParserFactory.newInstance();
      saxfac.setValidating(false);
      try {
        saxfac.setFeature("http://xml.org/sax/features/validation", false);
        saxfac.setFeature("http://apache.org/xml/features/nonvalidating/load-dtd-grammar", false);
        saxfac.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
        saxfac.setFeature("http://xml.org/sax/features/external-general-entities", false);
        saxfac.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
      }
      catch (Exception e1) {
        e1.printStackTrace();
      }
    

提交回复
热议问题