1.导入头文件
#import "WRBModelTool.h"
2.获取节点
例:获取<promotion>节点数组
GDataXMLDocument *doc = [[GDataXMLDocumentalloc]initWithData:dataoptions:0error:nil];
NSArray *array = [doc nodesForXPath:@"//promotion"error:nil];
3.遍历数组,调用类方法,传入element和model类名,打印出所有属性,拷贝到model中即可
for (GDataXMLElement *ein array) {
[WRBModelTool createModelWithElement:e modelName:@"promotionModel"];
}
打印结果:
.m文件方法实现:
#import "WRBModelTool.h"
@implementation WRBModelTool
/** XML解析 */
+(void)createModelWithElement:(GDataXMLElement *)element modelName:(NSString *)modelName
{
printf("\n@interface %s :NSObject\n",modelName.UTF8String);
for (GDataXMLElement *subElementin element.children) {
printf("@property (nonatomic, copy) NSString *%s;\n",subElement.name.UTF8String);
}
printf("@end\n");
for (GDataXMLElement *subElementin element.children) {
printf("model.%s = [[[e elementsForName:@\"%s\"] firstObject] stringValue];\n",subElement.name.UTF8String,subElement.name.UTF8String);
}
}
@end