xml数据解析
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
//准备网络的字符串数据
NSString *urlStr = @"http://flash.weather.com.cn/wmaps/xml/beijing.xml";
//把字符串类型的网址转化为NSURL类型
NSURL *url = [NSURL URLWithString:urlStr];
//使用URL实例化网络请求实例
NSURLRequest *request = [NSURLRequest requestWithURL:url];
//同步读取到网络上的数据
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
//实例化一个具体的解析类对象
NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithData:data];
//设置解析代理对象
xmlParser.delegate = self;
//调用方法开始解析xml文件
[xmlParser parse];
}
#pragma mark -NSXMLParserDelegate
#pragma mark -文档开始读取
- (void)parserDidStartDocument:(NSXMLParser *)parser
{
//实例化存储数据的数组
self.arrList = [NSMutableArray array];
}
#pragma mark -解析标签开始
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
//首先用属性fromTagFlag获取elementName,供后面使用
self.formTagFlag = elementName;
//因为数据都是存储在属性中的,全部存储在了attributeDict里面了,在这里直接打印下
NSLog(@"%@",attributeDict);
}
#pragma mark -获取标签数据对应的数据
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
//因为数据迪欧存储在了属性值中,所有不需要解析字标签
}
#pragma mark -文档结束读取
- (void)parserDidEndDocument:(NSXMLParser *)parser
{
//打印获取到的数据的数组
NSLog(@"%@",self.arrList);
}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。