原来

SAXReader reader = new SAXReader();

修改后

public class IgnoreDTDEntityResolver implements EntityResolver {

        @Override
        public InputSource resolveEntity(String publicId, String systemId)
                throws SAXException, IOException {
            return new InputSource(new ByteArrayInputStream("<?xml version='1.0' encoding='UTF-8'?>".getBytes()));
        }

    }

    SAXReader reader;
    public SAXReader getReader(){
        if (reader == null){
            reader = new SAXReader();
            reader.setEntityResolver(new IgnoreDTDEntityResolver());
        }
        return reader;
    }

需要使用 reader 是,调用 getReader , 而不是自己 new 一个,这样既成功的忽略了读取 xml 是的文件头检查

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-02-11
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-11-24
  • 2021-09-18
  • 2021-07-22
  • 2021-10-14
相关资源
相似解决方案