• iPhone开发 解析xml NSData


    xml字符串为:
    <users>
    <user name="hoge" age="20" />
    <user name="fuga" age="30" />
    </users>
     
    //解析按钮事件
    -(IBAction)btnXml
    {
        
        NSString* str= [uitextview1 text];
        //string转成data
        NSData *xmlData = [str dataUsingEncoding: NSUTF8StringEncoding];
        //对xml进行解析需要使用NSXMLParser类,首先声明一个NSXMLParser对象    
        //开始解析  
        NSXMLParser* xmlRead = [[NSXMLParser alloc] initWithData:xmlData];//初始化NSXMLParser对象   
        [xmlRead setDelegate:self];//设置NSXMLParser对象的解析方法代理  
        [xmlRead parse];//调用代理解析NSXMLParser对象,看解析是否成功      
    }
     
    //解析器,从两个结点之间读取内容
    - (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
        //NSLog(@"%@",string);
    }
     
    //获得结点结尾的值
    - (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName
      namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
        //NSLog(@"%@",elementName);
    }
    //获得结点头的值
    - (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName
      namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
        attributes:(NSDictionary *)attributeDict 
    {
        //NSLog(@"%@",elementName);
        if([elementName isEqualToString: @"user"])
        {
            NSString* strName=[attributeDict valueForKey:@"name"];
            NSString* strAge=[attributeDict valueForKey:@"age"]; 
            NSString* strUser=uitextview2.text;
            strUser=[strUser stringByAppendingFormat:@"姓名:%@,年龄:%@\n",strName,strAge];
            [uitextview2 setText:strUser];
            //NSLog(@"姓名:%@,年龄:%@", strName,strAge);
        }
    }
  • 相关阅读:
    Java中Calendar.DAY_OF_WEEK需要减一的原因
    类变量方法,局部变量和成员变量的区别(this关键字的使用)
    简述位移运算符(二进制转换示例)
    Java循环结构之while和do-while循环
    在MyEclipse中使用javadoc导出API文档详解
    js控制input type=checkbox 的勾选
    DWZ框架一些技巧
    三层规则嵌套逻辑勾选
    关于DWZ模板中全选的使用
    关于针对不同需求。又不需要改之前代码的一个列子
  • 原文地址:https://www.cnblogs.com/top5/p/2402311.html
Copyright © 2020-2023  润新知