有时我有一个看起来像这样的文件:

<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的解决方案取代,从而解决了一些问题。

更好的方法是将重复元素包装到数组中以进行访问。

10-04 23:02