在 XMLInputFactory 中禁用功能安全处理

Disable feature secure processing in XMLInputFactory

我要将一个 XML 文件拆分成多个 XML 文件,所以我需要一个 xmlStreamReader。使用 XmlStreamReader 时,它抛出已达到异常限制。 XML 安全管理器对读取文件设置了一些限制。

我已经尝试将 属性 FEATURE_SECURE_PROCESSING 设置为 false。但是XmlInputFactory无法识别

XMLInputFactory xmlInputFactory = XMLInputFactory.newFactory();
xmlInputFactory.setProperty(XMLConstants.FEATURE_SECURE_PROCESSING, false);

我希望 XML 流式分析器没有读取大文件的限制

我找到了答案,使用支持处理程序的 Saxparser 来解析 XML 数据也可以在 SaxParser 中禁用 FEATURE_SECURE_PROCESSING。

class ParserHandler extends org.xml.sax.helpers.DefaultHandler{
    @Override
    public void startDocument() throws SAXException {
    // your operation
    }

    //other methods 
}
ParserHandler handler = new ParserHandler();
SAXParserFactory factory = SAXParserFactory.newInstance();
factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, false);
SAXParser saxParser = factory.newSAXParser();
saxParser.parse(file, handler);