文件名称:复杂XML的解析及组装
文件大小:59KB
文件格式:ZIP
更新时间:2014-11-03 09:35:39
iPhone objective-c xml 封装 解析
在实际的项目中,IPhone应用程序会存在很多与服务器之间的数据交互的地方,XML是首选方案。 此包可以解决XML文件的解析、对象转化为XML字符串的问题。 1 通过调用解析类,可以将XML的DATA数据转换为XmlNode对象,XmlNode以树形结构进行XML的数据封装,使用的时候按照树形结构进行数据的获取。(如有问题请留言) XmlNode结构如下: @interface XmlNode : NSObject { } @property(nonatomic,retain)NSMutableDictionary *attributes;//属性 @property(nonatomic,retain)NSMutableArray *childs;//下级子节点 @property(nonatomic,retain)NSString *name;//节点名称 @property(nonatomic,retain)NSString *value;//节点值 @property BOOL haveChilds;//是否有子节点 @property BOOL haveAttribute;//是否有属性 @property(nonatomic,retain)NSMutableString *xmlString; -(void)addAttribute:(NSDictionary *)att; -(void)addChild:(XmlNode *)node; -(NSString *)getXmlString;//将此对象装换为XML字符串 -(NSString *)getNodeValue:(NSString *)nodeName;//在此节点中根据子节点名称获得子节点值 -(NSString *)getAttributeValue:(NSString *)attName;//获得此节点的属性值 @end 2 而解析器只需要调用相应的方法,传入相应的参数即可。 -(XmlNode *)getObject:(NSString *)elName xmlData:(NSData *)xmlData;//从data中获取对象,并返回封装对象XmlNode 。 -(NSMutableArray *)getList:(NSString *)elName xmlData:(NSData *)xmlData;//从DATA中获得对象集合,集合中也是XmlNode --ps-- 花了点时间重构了之前的xml与对象的转换代码,采用了新的逻辑算法。代码更加精简,并可支持包含节点的属性转换了。 之前有人说看不懂是做什么,所以写了个小UI来进行体现。
【文件预览】:
XML Fun
----XML Fun()
--------XML_FunViewController.m(4KB)
--------XmlResolve.h(886B)
--------main.m(352B)
--------XmlNode.m(4KB)
--------XmlNode.h(726B)
--------XML Fun-Info.plist(1KB)
--------.DS_Store(6KB)
--------XML_FunAppDelegate.h(412B)
--------XmlResolve.m(4KB)
--------XML_FunViewController.h(665B)
--------XML_FunAppDelegate.m(2KB)
--------XML Fun-Prefix.pch(320B)
--------en.lproj()
--------test1.xml(555B)
----.DS_Store(6KB)
----XML Fun.xcodeproj()
--------project.xcworkspace()
--------project.pbxproj(13KB)
--------xcuserdata()