gpt4 book ai didi

java - 验证一个巨大的 XML 文件

转载 作者:IT老高 更新时间:2023-10-28 21:12:21 26 4
gpt4 key购买 nike

我正在尝试找到一种方法来针对 XSD 验证大型 XML 文件。看到问题...best way to validate an XML...但答案都指向使用 Xerces 库进行验证。唯一的问题是,当我使用该库来验证 180 MB 文件时,我得到了 OutOfMemoryException。

是否有任何其他工具、库、策略来验证比普通 XML 文件更大的文件?

编辑:SAX 解决方案适用于 java 验证,但 libxml 工具的其他两个建议对于 java 之外的验证也非常有帮助。

最佳答案

不要使用 DOMParser,而是使用 SAXParser。这从输入流或读取器中读取,因此您可以将 XML 保存在磁盘上,而不是将其全部加载到内存中。

SAXParserFactory factory = SAXParserFactory.newInstance();
factory.setValidating(true);
factory.setNamespaceAware(true);

SAXParser parser = factory.newSAXParser();

XMLReader reader = parser.getXMLReader();
reader.setErrorHandler(new SimpleErrorHandler());
reader.parse(new InputSource(new FileReader ("document.xml")));

关于java - 验证一个巨大的 XML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40663/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com