如何解析巨大的XML文件而不耗尽内存

尼克·哈伯德

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

目前,我读NSURLNSData并使用解析器。但是尝试使用大文件时会收到内存警告和崩溃。

我该如何像这样对大文件的分析进行分块处理,以免出现内存错误?

rmaddy

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

使用SAX解析器(例如标准NSXMLParser类)要好得多除了在解析过程中保留的任何数据结构之外,没有任何内容保留在内存中。

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

大型XML文件耗尽了内存,如何减少?

来自分类Dev

如何解析大型XML文件

来自分类Dev

如何解析XML文件Java

来自分类Dev

如何在内存不耗尽的情况下读取大型CSV文件?

来自分类Dev

python - 如何在不耗尽python内存的情况下遍历大文件?

来自分类Dev

如何解析托管在Dropbox上的XML文件,以使其不呈现而是下载?

来自分类Dev

如何在Play中对响应进行分块而不耗尽内存

来自分类Dev

堆上的内存如何耗尽?

来自分类Dev

如何在不耗尽内存的情况下读取tsv文件并将其存储为hdf5?

来自分类Dev

使用Go解析巨大的XML文件

来自分类Dev

如何解析非常规XML文件

来自分类Dev

如何解析可能格式错误的整个XML文件?

来自分类Dev

如何解析xml文件以获取字段?

来自分类Dev

如何解析非常规XML文件

来自分类Dev

如何用PHP输出海量文件而不会耗尽内存

来自分类Dev

如何解析复杂的xml

来自分类Dev

如何解析复杂的xml

来自分类Dev

如何解析这段XML?

来自分类Dev

如何解析远程文件?

来自分类常见问题

如何解析YAML文件

来自分类Dev

如何解析JSON文件?

来自分类Dev

如何解析WARC文件?

来自分类Dev

如何解析 Typoscript 文件?

来自分类Dev

如何解析给定的文件?

来自分类Dev

如何在Go中使用各种元素解析巨大的XML文件?

来自分类Dev

如何用 Java 在 Liferay 中解析一个巨大的 XML 文件?

来自分类Dev

如何使用 Python 和 XSLT 文件迭代解析巨大的 XML 并写入 CSV

来自分类Dev

Cordova在不耗尽内存的情况下计算大文件的sha1哈希

来自分类Dev

如何解析此XML(而不会出现“缺少根元素”或“序列不包含任何元素”)?

Related 相关文章

热门标签

归档