首页 > 其他 > 详细

dom4j解析XML时忽略DTD文件,加速文件解析过程

时间:2020-02-18 19:13:08      阅读:90      评论:0      收藏:0      [点我收藏+]

原来

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 是的文件头检查

dom4j解析XML时忽略DTD文件,加速文件解析过程

原文:https://www.cnblogs.com/daleyzou/p/dom4jIgnoreDTD.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!