NSXMLParser解析xml

NSXMLParser解析xml格式的数据 用法如下:

首先,NSXMLParser必须继续NSXMLParserDelegate协议

@interface XMLHelper : NSObject <NSXMLParserDelegate>

首先设置XML数据,并初始化NSXMLParser

- (void)viewDidLoad {

NSMutableString *Strxml=[NSMutableString stringWithString:@"<Body><xml1>11111111</xml1><xml2><xml3>3333333333</xml3></xml2></Body>"];

NSData *data=[NSData dataWithBytes:[Strxml UTF8String] length:[Strxml length]];


NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data]; //设置XML数据

[parser setShouldProcessNamespaces:NO];

[parser setShouldReportNamespacePrefixes:NO];

[parser setShouldResolveExternalEntities:NO];


[parser setDelegate:self];

[parser parse];

[super viewDidLoad];

}

 

//遍例xml的节点

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict

{

NSLog(@"Name:%@",elementName);

}

 

//当xml节点有值时,则进入此句 

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string

{

NSLog(@"Value:%@",string);

}

 

//当遇到结束标记时,进入此句

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName

{


}

 

上面代码最终效果图:

IPhone之NSXMLParser的使用

有了这几个函数,可以在项目将与服务器之与传输的XML数据,通过上面的方法,直接转换成Entity了。

原文地址:https://www.cnblogs.com/gaoxiao228/p/2527169.html