gpt4 book ai didi

ios - 如何在不耗尽内存的情况下解析巨大的 XML 文件

转载 作者:行者123 更新时间:2023-11-29 01:04:41 26 4
gpt4 key购买 nike

我的应用程序可以导入 GPX 文件 (XML),然后我使用精彩的 XML Dictionary库,它在解析 XML 和 GPX 方面做得非常出色,但在这种情况下,我有一个 85MB 的文件,我想尝试解析它。它包含超过 16,000 个庞大的 GPX 航路点。

目前我将 NSURL 读取到 NSData 中,然后使用解析器。但是我在尝试处理大文件时收到内存警告和崩溃。

如何分块解析这样的大文件,以免出现内存错误?

最佳答案

您正在使用的 XML 字典库的问题是它构建了整个 XML 文件的庞大对象树。这会占用大量内存。

最好使用 SAX 解析器,例如标准的 NSXMLParser 类。除了在解析过程中保留的任何数据结构之外,内存中不会保留任何内容。

无论哪种情况,您都不需要在解析之前将整个 XML 文件加载到内存中。打开文件的流并将该流传递给解析器。

关于ios - 如何在不耗尽内存的情况下解析巨大的 XML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36553136/

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