3

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

教程中,我发现他们提供了 JSON 提要。所以我很困惑。还有是否有任何其他用于 IOS 的 XML 解析器提供此映射功能。谢谢

4

3 回答 3

5

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

您可以在此处找到新文档。

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

于 2011-07-29T04:30:39.153 回答
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项目中映射一个类Users,你必须特别注意keyPath,在这种情况下:"users" <- first tag, and "user" <-second tag, and the您要映射的“类”。

为此,您使用:

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

对于其余部分,如果您使用此链接上教程的第一部分(示例对象映射),则可以:

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

于 2012-06-23T18:42:41.780 回答
0

这是一个非常好的iOS xml 解析器比较

通常,您应该能够使用 RestKit 进行这种映射。这取决于您的 xml 有多复杂。如果它依赖于命名空间和外星技术,RestKit 可能会很困难。

对于纯 xml,Restkit 工作得很好。一些教程/示例,最后是RestKit API 文档。寻找RKXMLParserLibXML

于 2011-07-28T21:33:56.680 回答