- (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);
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。