将XMLRPC/Web服务与核心数据集成

Sri*_*vas 10 service xml-rpc core-data

我正在为一个项目做设计而没有实现任何东西 - 所以我仍然会通过思考过程来确定核心数据是否适用于该项目.

这是我的查询 -

我想使用Core Data创建一个托管对象模型来表示一些服务器端对象,例如文件夹,文件等....所有对象(文件夹,文件等)都可以通过返回一些格式良好的XML的XMLRPC API访问.

例如,可能有一个名为getFolders的API可以返回以下内容 -

<xml>
 <folders>
  <folder id=1>
    <name>Test 123</name>
   <files>
      <file id=100>
           <name>hello.txt</name>
          <path>./hello.txt</path>
      </file>
      ...
  </files>
 </folder>
 ...
</folders>
Run Code Online (Sandbox Code Playgroud)

类似地,可以有一个updateFolders API,它对现有文件夹项进行操作,为简单起见,我们可以说它只是更新文件夹名.对它的请求将发布如下内容 -

<xml>
 <method name="updateFolder">
  <folder_id="1">
  <params>
   <param name="folder_name" value="Test"/>
  </params>
 </method>
Run Code Online (Sandbox Code Playgroud)

我想弄明白 -

  1. How can I represent folder as a managed object i.e., how do I initialize it from the above XML
  2. Once initialized, how can I handle an update to it using the updateFolder API shown above
Run Code Online (Sandbox Code Playgroud)

似乎NSPersistentStore(如XMLStoreType)直接指向包含最终数据的实际XML文件.就我而言,XML只是从XMLRPC调用返回的,而实际数据存储在服务器端DB上.因此,由于存储不是对象的直接表示(或存储对象的位置),我想知道是否应该创建自定义NSAtomicStore并分别处理加载和保存以进行初始化和更新.以下是为NSAtomicStore执行此操作的链接 -

http://devworld.apple.com/documentation/Cocoa/Conceptual/AtomicStore_Concepts/Articles/asLoading.html#//apple_ref/doc/uid/TP40005298

请告诉我这是否有意义,或者是否有更好的方法来解决这个问题.

在此先感谢您的帮助!

fuz*_*uzz 1

您是否已阅读过:

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSXMLParser_Class/Reference/Reference.html

另请查看TBXML

TBXML 是一个用 Objective-C 编写的轻量级 XML 文档解析器,设计用于 Apple iPad、iPhone 和 iPod Touch 设备。TBXML 旨在提供最快的 XML 解析,同时利用最少的资源。这种绝对效率的要求是以 XML 验证和修改为代价来实现的。无法从 TBXML 对象修改和生成有效的 XML,并且在导入和解析 XML 文档时不会执行任何验证。