【问题标题】:XML generation and parsing from Core data in iphoneiphone中Core数据的XML生成和解析
【发布时间】:2013-03-26 00:47:46
【问题描述】:

我正在创建一个由几个 UITableViewControllers 组成的简单 iOS 应用程序。视图控制器中显示的信息将来自一个 xml 文件(我将包含在项目的资源中或直接来自 Dropbox 或 iCloud)。 xml 文件的内容将基于用户输入。

一些注意事项:

数据是基于用户输入的,不是静态的。理想情况下,应用程序会将数据从 xml 文件加载到“核心数据”中。 应用程序的每次额外运行只会从一些核心数据源(我还不完全熟悉)中提取数据,而不是从文本文件中重新加载。

现在我正在使用 XMLwriter 生成简单的 xml 文件

请指导我 谢谢你

【问题讨论】:

  • 您是否需要在本地生成 xml,正如您所说您将从服务器/云接收。您只需解析收到的 xml 并将其保存到数据库,然后使用查询数据库核心数据和表格视图中的显示..
  • @vishy,因为首先我需要以编程方式根据用户输入生成 xml,然后将其发送到服务器
  • 为服务器请求生成xml很容易,只需使用格式化的NSString方法,因为所有的xml节点都是静态的..
  • @vishy 不,我是从我的应用程序本地生成 xml,而不是从服务器,我在从我的应用程序本地生成 xml 文件后在服务器上发送它
  • 即使我说了同样的话..你试过用[NSString stringWithFormat:@""]生成xml吗?

标签: iphone ios objective-c xml xml-parsing


【解决方案1】:

这里最好的模式似乎是使用 XML 文件来“播种”您的 Core Data 数据库。这只是第一次发生。之后,您将不再使用您的 XML 文件,而只需更新和同步您的核心数据存储。

这比生成 XML 要好得多。 XML 文件(如属性列表)的问题是您必须为每个小的增量更改编写整个文件。如果您同步到某个在线商店,这可能需要太多时间才能实用。

假设您可以从 XML 文件中获取基础对象,只需遍历该对象并一一插入 Core Data。

for (NSDictionary *dict in xmlArray) {
   Entity *newObject = [NSEntityDescription 
        insertNewObjectForEntityForName:@"Entity"
                 inManagedObjectContext:self.managedObjectContext]; 
   newObject.attribute1 = [dict objectForKey:@"attribute1"];
   newObject.attribute2 = [dict objectForKey:@"attribute2"];
   //  etc...
}
[self.managedObjectContext save:nil]; 

【讨论】:

  • 能否详细说明你的答案?因为我是核心数据的初学者,对我来说有点复杂
  • 你知道如何从 XML 文件中获取对象吗?
  • 是的,我知道,我尝试获取所有对象并将其放入字符串
  • 查看我关于如何将对象插入核心数据的编辑。如果有任何不清楚的地方,您应该使用标准文档阅读 Core Data,因为这是非常基础的东西。 Core Data Programming Guide.
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-03-23
  • 1970-01-01
  • 1970-01-01
  • 2012-04-10
  • 2012-10-02
  • 1970-01-01
  • 2012-03-31
相关资源
最近更新 更多