NSXMLParser解析xml格式的數據 用法如下:
首先,NSXMLParser必須繼續NSXMLParserDelegate協議
@interface XMLHelper : NSObject<NSXMLParserDelegate>
//遍例xml的節點
//當xml節點有值時,則進入此句
//當遇到結束標記時,進入此句
首先,NSXMLParser必須繼續NSXMLParserDelegate協議
@interface XMLHelper : NSObject<NSXMLParserDelegate>
首先設置XML數據,並初始化NSXMLParser
- (void)viewDidLoad { NSMutableString *Strxml=[NSMutableStringstringWithString:@"<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 *)namespaceURIqualifiedName:(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 *)namespaceURIqualifiedName:(NSString *)qName { } |
|
iphone開發之xml解析流程小結
解析xml文件是一個簡單的過程,大體思路總結有如下幾個步驟:
一、創建xml節點模型。
創建模型是爲了方便我們更好地對每個xml節點進行管理和操作。節點模型的自由度因人而異。
二、創建模型管理器。
模型管理器管理所有的節點模型,是對節點模型的一個統一封裝,主要的功能是提供給使用到xml數據的開發人員。
三、創建解析器。
解析器解析xml文件,並把數據初始化到每一個節點模型,並返回模型管理器對象。