我正在學習RestKit。我遇到了它提供的elementToPropertyMapping功能。我想知道我是否可以將此映射用於xml文檔?還是隻爲JSON?elementToPropertyMapping在RestKit
在tutorial我發現他們提供了一個JSON提要。所以我很困惑。還有沒有任何其他的XML解析器提供這種映射功能的IOS。 感謝
我正在學習RestKit。我遇到了它提供的elementToPropertyMapping功能。我想知道我是否可以將此映射用於xml文檔?還是隻爲JSON?elementToPropertyMapping在RestKit
在tutorial我發現他們提供了一個JSON提要。所以我很困惑。還有沒有任何其他的XML解析器提供這種映射功能的IOS。 感謝
您發現的教程已過時。 elementToPropertyMappings不再使用。您可以使用普通的objective-c類並使用RKObjectMapping將數據映射到它們,而不是從RKObject或RKManagedObject繼承。
你可以找到新的文件here。
但是,您可以對XML文檔使用RestKit的對象映射。解析器應該檢測mimetype並使用xml解析器而不是json;如果沒有,你可以明確告訴它根據鏈接文檔使用xml。
這是一個非常好的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"];
對於其餘部分,如果使用教程的第一部分這個鏈路上是確定(通過實施例的對象映射):
對不起,它移動了。更新了鏈接。 – 2011-08-28 19:04:02
鏈接指向描述JSON對象映射的文檔,而不是XML映射:( – 2012-01-20 09:44:23
映射的定義方式相同,RestKit處理它在內部接收XML而非JSON的事實。 – 2012-01-20 21:40:15