<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 这个方法