elementToPropertyMapping在RestKit

问题描述:

我正在学习RestKit。我遇到了它提供的elementToPropertyMapping功能。我想知道我是否可以将此映射用于xml文档?还是只为JSON?elementToPropertyMapping在RestKit

tutorial我发现他们提供了一个JSON提要。所以我很困惑。还有没有任何其他的XML解析器提供这种映射功能的IOS。 感谢

您发现的教程已过时。 elementToPropertyMappings不再使用。您可以使用普通的objective-c类并使用RKObjectMapping将数据映射到它们,而不是从RKObject或RKManagedObject继承。

你可以找到新的文件here

但是,您可以对XML文档使用RestKit的对象映射。解析器应该检测mimetype并使用xml解析器而不是json;如果没有,你可以明确告诉它根据链接文档使用xml。

+0

对不起,它移动了。更新了链接。 – 2011-08-28 19:04:02

+0

链接指向描述JSON对象映射的文档,而不是XML映射:( – 2012-01-20 09:44:23

+0

映射的定义方式相同,RestKit处理它在内部接收XML而非JSON的事实。 – 2012-01-20 21:40:15

这是一个非常好的xml parser comparison for iOS

一般来说,你应该能够做这种映射与RestKit。这取决于你的XML有多复杂。如果它依赖命名空间和外来技术,RestKit可能会很困难。

对于普通的xml,Restkit工作得很好。一些tutorials/examples,最后是RestKit API docs。寻找RKXMLParserLibXML

事实上,gitHub上的教程已过时,但即使是新教程也没有提及如何有效地使用RestKit查询XML文件以进行正确的映射,这对于新手来说非常混乱我。

作为一个快速参考,我会尽量向你展示它的工作原理与XML的方式:

说你有这样的回应:

<?xml version="1.0" encoding="UTF-8"?> 
<users type="array"> 
    <user> 
     <id>1</id> 
     <name>Roberto</name> 
     <company>Apple</company> 
    </user> 
    <user> 
     <id>2</id> 
     <name>Carlos</name> 
     <company>Adobe</company> 
    </user> 
</users> 

如果你要映射的一类用户在Objective-C项目中,您必须特别注意keyPath,在这种情况下:“用户”< - 第一个标记,“用户”<第二个标记以及要映射的“Class”。

对于此,可以使用:

[[RKObjectManager sharedManager].mappingProvider setMapping:objectMapping forKeyPath:@"users.user"]; 

对于其余部分,如果使用教程的第一部分这个链路上是确定(通过实施例的对象映射):

https://github.com/RestKit/RestKit/wiki/Object-mapping