LPPloveROU 2012-11-07 05:47 采纳率: 50%
浏览 2144
已采纳

使用NSXMLParser能不能解析只有一个node的xml?

我研究了NSXMLParser,然后准备实现一下,解析XML文件,代码如下:

-(OneNodeXMLParser*)initOneNodeXMLParser{

appDelegate = (OneNodeXMLParser*)[[UIApplication sharedApplication]delegate];
return self;
}

-(void)parser:(NSXMLParser*) parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{
NSLog(@"%s",__PRETTY_FUNCTION__,nil);
if([elementName isEqualToString:@"a"]){

}
NSLog(@"Starting processing");
}

-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{
NSLog(@"%s",__PRETTY_FUNCTION__,nil);
NSLog(@"%s",string);
}

   -(void) parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{
NSLog(@"%s",__PRETTY_FUNCTION__,nil);
NSLog(@"Finishing processing");
}

要成功解析应该改哪啊?

  • 写回答

1条回答 默认 最新

  • love_loveec 2012-11-07 06:48
    关注

    在.h文件中声明一个NSMutableString *store;

    然后加下面的代码:

    -(void)parser:(NSXMLParser*) parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
    {
      if([elementName isEqualToString:@"a"])
      {
         store = [[NSMutableString alloc] init];
      }
      NSLog(@"Starting processing");
    }
    
    -(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
    {
      NSLog(@"%s",string);
       if (store != nil)
       {
         [store appendString:string];
       }
    }
    
    -(void) parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
     {
       NSLog(@"Finishing processing String : %@", store);
     }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘