2011-05-26 33 views
3

我正在學習RestKit。我遇到了它提供的elementToPropertyMapping功能。我想知道我是否可以將此映射用於xml文檔?還是隻爲JSON?elementToPropertyMapping在RestKit

tutorial我發現他們提供了一個JSON提要。所以我很困惑。還有沒有任何其他的XML解析器提供這種映射功能的IOS。 感謝

回答

5

您發現的教程已過時。 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

2

事實上,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