通過NSXMLParser類來讀取XML文件

第一步,先創建一個NSXMLParser對象,可以通過以下的代碼:

- (NSXMLParser *)createParserWithXml:(NSString *)fileName {
    NSXMLParser *parser;
    
    NSString* path = [[NSBundle mainBundle] pathForResource:fileName ofType:@"xml"]; 
    NSFileHandle* file = [NSFileHandle fileHandleForReadingAtPath:path]; 
    NSData* data = [file readDataToEndOfFile]; 
    [file closeFile];
    
    parser = [[NSXMLParser alloc] initWithData:data];
    return parser;
}

第二步,指定一個對象爲代理對象,用來接收並處理各種解析中的信息:

[parser setDelegate:self];

第三步,開始解析。。。

[parser parse];

然後在代理類中實現以下幾個方法:

//發現元素開始符的處理函數  (即報告元素的開始以及元素的屬性) 
- (void)parser:(NSXMLParser *)parser 
        didStartElement:(NSString *)elementName 
        namespaceURI:(NSString *)namespaceURI 
        qualifiedName:(NSString *)qName 
        attributes:(NSDictionary *)attributeDict

//處理標籤包含內容字符 (報告元素的所有或部分內容) 
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string

//發現元素結束符的處理函數,保存元素各項目數據(即報告元素的結束標記)
- (void)parser:(NSXMLParser *)parser 
        didEndElement:(NSString *)elementName 
        namespaceURI:(NSString *)namespaceURI 
        qualifiedName:(NSString *)qName

//報告解析的結束 
- (void)parserDidEndDocument:(NSXMLParser *)parser

//報告不可恢復的解析錯誤
- (void)paser:parserErrorOccured


發佈了41 篇原創文章 · 獲贊 1 · 訪問量 26萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章