在 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);
我要将一个 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);