xml - 应采取哪些步骤将我的 XML 转换为 Core Data 对象?

标签 xml cocoa cocoa-touch core-data key-value-coding

我有一个包含商店列表的 XML 文件,下面是简化版本。我想要帮助的是一些关于将这些数据移动到核心数据中的对象存储的最简单方法的高级想法。我看到了有关键值对的建议,但正如您在下面的示例中看到的,我有具有相同名称/键的子元素,并且每个商店元素可以有任意数量的子元素。

我打算将这些对象存储在应用程序中以供将来使用(它们将是 map 上的注释)。因此,每个重复字段都需要存储,其中一个是不够的。我知道如何在核心数据中对其进行建模,我相信,我将拥有一个电话号码实体和一个商店实体,并且将根据 <store-id> 将两者关联起来。我只是尝试使用一种简单的方法通过其他一些数据结构将它们从 XML 移动到 Core Data。

XML 示例:

<stores>
  <store>
   <store-id>1</store-id>
   <city>Dublin</city>
   <phone>011234567</phone>
   <phone>011234566</phone>
   <owner>Joe Bloggs</owner>
  </store>
  <store>
   <store-id>2</store-id>
   <city>Cork</city>
   <phone>019876543</phone>
   <phone>019876542</phone>
   <owner>Joe Bloggs</owner>
  </store>
<stores>

如果键值对是可行的方法,请向我指出一种可以解释重复元素的方法。如果还有其他方法,我洗耳恭听。

谢谢

最佳答案

更困难的部分是设计一个有意义的数据模型。您可能需要一个用于商店的实体,一个用于电话的实体,可能还需要一个用于所有者的实体。商店应该与电话号码一对多,与所有者一对一(仅查看您的数据)。

布置好数据模型后,您就可以使用 NSXMLParser 或 TouchXML 等第三方库来解析 XML。从你的元素开始。对于其中的每个项目,根据商店实体创建一个对象。对于元素中的每个电话,创建一个电话实体,依此类推。

关于xml - 应采取哪些步骤将我的 XML 转换为 Core Data 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2293390/

相关文章:

xml - vim中替换前后字符串

cocoa - NSManagedObject 作为 NSDictionary 键?

ios - Apple 示例代码中的 NavigationView

php - 如何在 xml 数据集中进行搜索?

c# - 字符串 '3/18/09 10:16 PM' 不是有效的 AllXsd 值

objective-c - 如何在 Objective-C 中接收来自 Wii Remote 的数据?

iphone - 显示临时 subview

ios - 这有可能强制 iOS 键盘弹出英文键盘吗?

android - XmlPullParser - 意外 token (android)

cocoa 控制文本位置?