gpt4 book ai didi

objective-c - 用于将 sqlite 表导出和导入到 XML for ObjC/iPhone 的库

转载 作者:行者123 更新时间:2023-12-03 18:40:13 25 4
gpt4 key购买 nike

是的,我同意,使用 NSXMLParser 解析 xml 并使用 DB 更新是一项家庭作业。

是否有可用于将给定的 sqlite db 表导出到 xml 的开源库?它可以使用字段名称作为 xml 元素/标签。我想尝试一些经过测试的解决方案。

我正在开发一个模块,我将在其中将表导出到 xml 并按需导入到 db。

我目前使用https://github.com/skjolber/xswi创建 xml 文件。由于我的测试数据大约有 100,000 条记录,因此需要很长时间并且在最后(完成 90% 之后)经常崩溃( Could not allocate data buffer )。我猜这是由于内存分配,我确实清除了每条记录后使用的 NSDictionary 并附加到文件中(不保留所有内存)。

此外,生成的文件约为 70-80 Mb,其中文件 (.zip) 的压缩版本约为 50k。创建 XML 或 CSV 是否正确?

如果有人提出正确的方法来进行,那将非常有帮助。

最佳答案

通常,当您使用所有功能时,xml 只会变得又长又复杂,在最小的情况下,您应该能够从 sqllite 表中创建一个简单的 xml 文件,只需写出

<?xml version="1.0"?>
<tablename>
<row>
<columnname1>content</columnname1>
<columnname2>content</columnname2>
</row>
<row>
</row>
</tablename>

在每一行的迭代中循环执行此操作不需要任何取决于表大小的内存分配。你真的不需要一个外部库来做到这一点。

至于大小,xml不知道是不是很简洁,但是有很多重复,所以会压缩很多。

NSXMLParser 是一个类似于 EventBase SAX 的解析器,这意味着它也不应该对 xml 文件的大小有任何问题。它永远不应该构建整个 xml 文件的表示。我对 xswi 没有任何经验,所以我不能代表这一点。

至于错误信息(你可以在 xswi 的源代码中找到),想想objective-c 是如何处理内存的,以及autoreleased 的内存何时真正被释放。然后看看你是怎么用xswi的

关于objective-c - 用于将 sqlite 表导出和导入到 XML for ObjC/iPhone 的库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6280644/

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