dom4j解析XML時忽略DTD文件,加速文件解析過程

原來

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 是的文件頭檢查

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章