Objective c 图书馆出口及;将sqlite表导入到ObjC/iPhone的XML中

Objective c 图书馆出口及;将sqlite表导入到ObjC/iPhone的XML中,objective-c,xml,sqlite,ios4,Objective C,Xml,Sqlite,Ios4,是的,我同意,用NSXMLParser解析xml并用DB更新是一个家庭作业 是否有开源库可用于将给定的sqlite db表导出为xml?其中可以使用字段名作为xml元素/标记。我想尝试一些经过测试的解决方案 我正在开发一个模块,在这个模块中,我需要将表导出到xml,并根据需要导入到db 我目前使用创建xml文件。这需要相当长的时间,而且在最后(完成90%后)经常崩溃(无法分配数据缓冲区),因为我得到的测试数据约为100000条记录。我想这是由于内存分配的缘故,我确实清除了每条记录后使用的NSDi

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

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

我正在开发一个模块,在这个模块中,我需要将表导出到xml,并根据需要导入到db

我目前使用创建xml文件。这需要相当长的时间,而且在最后(完成90%后)经常崩溃(
无法分配数据缓冲区),因为我得到的测试数据约为100000条记录。我想这是由于内存分配的缘故,我确实清除了每条记录后使用的NSDictionary并将其附加到文件中(并没有保留所有内存)

此外,生成的文件约为70-80MB,其中文件(.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如何处理内存以及自动释放内存的实际释放时间。然后看看您是如何使用xswi的

谢谢Harald。即使经过多年的积极发展,仍然需要简单的图书馆。我将尝试使用导出选项更新FMDB(可能是一个附加选项)。是的,我知道NSXMLParser是一个SAX解析器,我只是想检查一下我的程序员同事的方法是否可以继续。实际上,我已经切换到JSON进行简单的数据存储,有语言日志的绑定,并且定义要简单得多。如果您不需要转换服务和验证,那么json就完全足够了,而且更容易编写。请将任何错误提交到网站。内部缓冲区是一个NSMutableString,因此它位于内存中,但可以随时清空。制作您自己的XML可以是一个很好的优化,但是您当然必须支持XML编码。