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

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这个节点的内容,或者是我没找到那个方法?


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


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

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


http://troybrant.net/blog/2010/09/simple-xml-to-nsdictionary-converter/


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

【热门文章】
【热门文章】