栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 人工智能 > NLP

IOS解析XML文件

NLP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

IOS解析XML文件

这里使用NSXMLParser来解析,这个是apple自带的xml解析库,有个参考文章:https://www.mshxw.com/

在Xcode中加入一个xml文件:


    001    John    Reminder    Don't forget the meeting!    002    Jack    cc    how are you!    003    Tom    bb    I am fine!



先读出来



   NSString* path =  [[NSBundle mainBundle] pathForResource:@"shop" ofType:@"xml"];    NSData *data = [[NSData alloc] initWithContentsOfFile:path options:(NSDataReadingMappedIfSafe) error:nil];    NSXMLParser *parser=[[NSXMLParser alloc] initWithdata:tmpdata];[parser setDelegate:self];[parser parse];[parser release];    [self parseShopListFromResponse:data];



然后进行解析:


#pragma mark NSXMLParser delegate methods- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName  namespaceURI:(NSString *) namespaceURI qualifiedName:(NSString *)qNameattributes: (NSDictionary *)attributeDict {    self.currentTag = elementName;if ([elementName isEqualToString:@"root"]) {self.tmpList = [[NSMutableArray alloc] init];}else if ([elementName isEqualToString:@"Shop"]) {self.tmpShop = [[ShopData alloc] init];        NSArray* array = [attributeDict allKeys];        NSString* key = [array lastObject];        NSString*s  = [attributeDict objectForKey:key];        self.tmpShop.info = s;}}-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {    if (self.currentString == nil) {        self.currentString = [[NSMutableString alloc] initWithString:@""];    }        if ([self.currentTag isEqualToString:@"name"] ||        [self.currentTag isEqualToString:@"id"] ||        [self.currentTag isEqualToString:@"url"] ||        [self.currentTag isEqualToString:@"info"]) {        [self.currentString appendString:string];}}-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName { if ([elementName isEqualToString:@"Shop"]) {[self.tmpList addObject:self.tmpShop];        [self.tmpShop release];} if ([elementName isEqualToString:@"name"]) {        self.tmpShop.name = [self.currentString copy];        [self.currentString setString:@""];}else if ([elementName isEqualToString:@"id"]) {self.tmpShop._id = [self.currentString copy];        [self.currentString setString:@""];}else if ([elementName isEqualToString:@"url"]) {self.tmpShop.url = [self.currentString copy];        [self.currentString setString:@""];}else if ([elementName isEqualToString:@"info"]) {//self.tmpShop.info = [self.currentString copy];//        [self.currentString setString:@""];}}- (void)parserDidStartdocument:(NSXMLParser *)parser {NSLog(@"开始解析xml文件");}- (void)parserDidEnddocument:(NSXMLParser *)parser {[self.tableView reloadData];NSLog(@"解析xml文件完成");}



Shopdata的结构是:


@property (nonatomic,retain) NSString *name;@property (nonatomic,retain) NSString *url;@property (nonatomic,retain) NSString *_id;@property (nonatomic,retain) NSString *info;@property (nonatomic, retain) UIImage *appIcon;

以上就是IOS解析XML文件 的内容,更多相关内容请关注PHP中文网(www.kaotop.com)!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/794834.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号