有时我有一个看起来像这样的文件:
<doc>
<titleInfo>
<title>One version of the title</title>
</titleInfo>
<titleInfo>
<title>Another version</title>
</titleInfo>
</doc>
但是其他时候看起来像这样:
<doc>
<titleInfo>
<title>This is the only version of the title</title>
</titleInfo>
</doc>
我正在尝试使用以下方法将此映射到对象中的数组:
[mapping mapKeyPath:@"titleInfo.title" toAttribute:@"titles"];
这在第一种情况下有效,但在第二种情况下,我收到
RKObjectMappingOperation.m:199 Failed transformation of value at keyPath 'titleInfo.title'. No strategy for transforming from '__NSCFString' to 'NSArray'
显然,RestKit正确地将第一个文档解释为包含字符串数组-但是对于第二个文档,我找不到强制执行相同解释的方法。
有没有一种简单的方法可以用RestKit中的KVC工具表达这一点,还是我最好编写一些完全自定义的映射器?
最佳答案
根据Blake Walters的说法:master和0.9.3中的LibXML解析器存在很多问题,最近在RestKit的开发分支中被基于NSXMLParser的解决方案取代,从而解决了一些问题。
更好的方法是将重复元素包装到数组中以进行访问。