RestKit 中的 elementToPropertyMapping

发布于 2024-11-10 00:22:02 字数 263 浏览 0 评论 0原文

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

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

I am learning RestKit. I came across the elementToPropertyMapping feature which it provides. I am wondering whether I can use this mapping for xml documents? or is it just for JSON?

In the tutorial I found they are providing a JSON feed. So I am confused. Also Is there any other XML parser for IOS which provides this mapping feature.
Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

甜嗑 2024-11-17 00:22:02

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

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

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

The tutorial that you found is out of date. elementToPropertyMappings is no longer used. Instead of inheriting from RKObject or RKManagedObject, you use the normal objective-c classes and map data to them with an RKObjectMapping.

You can find the new documentation here.

But yes, you can use RestKit's object mapping for XML documents. The parser should detect the mimetype and use an xml parser instead of json; if it doesn't you can explicitly tell it to use xml as per the linked documentation.

朕就是辣么酷 2024-11-17 00:22:02

事实上,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 项目中映射 a 类 Users,您将必须特别注意keyPath,在本例中:“user” <- 第一个标签,“user” <-第二个标签,以及要映射的“Class”。

为此,您可以使用:

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

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

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

In fact, the tutorial at gitHub is out of date, but even the new one doesn't have a reference of how to effectively query XML files with RestKit to do a correct mapping and this is very confusing for the newcomers like me.

As a quick reference, I will try to show you the way it works with XML:

Say you have a response like this:

<?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>

If you want to map the a class Users in your Objective-C Project, you will have to pay special attention to the keyPath, in this case: "users" <- first tag, and "user" <-second tag, and the "Class" you want to map.

For this, you use:

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

For the rest, is ok if you use the first part of the tutorial on this link (Object Mapping by Example):

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

宫墨修音 2024-11-17 00:22:02

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

一般来说,您应该能够使用 RestKit 进行这种映射。这取决于您的 xml 的复杂程度。如果依赖命名空间和外来技术,RestKit 可能会很困难。

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

This is a very good xml parser comparison for iOS

Generally you should be able to do this kind of mapping with RestKit. It depends on how complex your xml is. If it relies on namespaces and alien technology, RestKit might be difficult.

For plain xml, Restkit works pretty fine. Some tutorials/examples and finally the RestKit API docs. Look for RKXMLParserLibXML.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文