iOS,解析未知结构xml遇到的问题

<Cars name="特殊功能">
        <Car id="666">
            <icon>cnicon.png</icon>
            <ecu path="specific/reset" name="898"/>
        </Car>
</Cars>

现在做的项目中需要用到xml,数据全部是从xml里面读取的,有100多个xml文件,每个文件结构都不一样,要我写一套xml代码能解析出任何结构的xml,不需要知道节点名字的那种......
比如上面的那种xml,我要解析后弄成下面这样来调用

   NSArray *arr = @[@{@"Cars":@{@"name":@"特殊功能",
                                @"car":@[@{@"id":@"666",
                                           @"icon":@"cnicon.png",
                                           @"ecu":@{@"path":@"specific/reset",
                                                    @"name":@"898"} }]}}];

这种需求能不能实现?麻烦大家支支招,我试过kissxml试过,没能在不知道节点名的情况下获取到car这个节点的内容,或者是我没找到那个方法?

阅读 4k
4 个回答

可以在gdata库里使用xpath语言,可以完美解决你的问题

还有,XML跟字典的键值对还是有点区别的,虽然有些情况下可以对应成字典,但是XML不是键值对。

但是有个库可以间接解决你的问题,轻松遍历所有节点,还支持XPath https://github.com/mattt/Ono

plist文件本质上就是xml,用MJExtension 试试objectArrayWithFilename 这个方法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题