elementToPropertyMapping в RestKit - PullRequest
       16

elementToPropertyMapping в RestKit

3 голосов
/ 26 мая 2011

Я изучаю RestKit.Я сталкивался с функцией elementToPropertyMapping, которую он предоставляет.Мне интересно, могу ли я использовать это сопоставление для XML-документов?или это только для JSON?

В учебнике я обнаружил, что они предоставляют канал JSON.Так что я в замешательстве.Также есть ли другой анализатор XML для IOS, который обеспечивает эту функцию отображения.Спасибо

Ответы [ 3 ]

5 голосов
/ 29 июля 2011

Учебное пособие, которое вы нашли, устарело.elementToPropertyMappings больше не используется.Вместо того, чтобы наследовать от RKObject или RKManagedObject, вы используете обычные классы target-c и отображаете на них данные с помощью RKObjectMapping.

Вы можете найти новую документацию здесь .

Но да, вы можете использовать сопоставление объектов RestKit для документов XML.Анализатор должен обнаружить mimetype и использовать анализатор xml вместо json;если это не так, вы можете явно указать ему использовать xml согласно связанной документации.

2 голосов
/ 23 июня 2012

На самом деле учебник на gitHub устарел, но даже в новом нет справки о том, как эффективно запрашивать XML-файлы с помощью RestKit для правильного сопоставления, и это очень запутанно для новичков, таких как я .

В качестве краткого справочника я попытаюсь показать вам, как он работает с 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>

Если вы хотите отобразить класс Users в своем проекте Objective-C, вам придется обратить особое внимание на keyPath, в этом случае: «users» <- первый тег и «user» <-second и "Класс", который вы хотите отобразить. </p>

Для этого вы используете:

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

В остальном, все в порядке, если вы используете первую часть руководства по этой ссылке (Object Mapping by Example):

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

0 голосов
/ 29 июля 2011

Это очень хорошее сравнение парсера xml для iOS

Как правило, вы должны иметь возможность выполнять такое сопоставление с помощью RestKit.Это зависит от того, насколько сложен ваш xml.Если он опирается на пространства имен и инопланетные технологии, RestKit может оказаться сложным.

Для простого XML Restkit работает довольно хорошо.Некоторые учебные пособия / примеры и, наконец, RestKit API документы .Ищите RKXMLParserLibXML .

...