ios xml

网站:W3SCHOOL
XML包括:声明,处理指令(可选) 元素
XML解析 SAX 和DOM
SAX简单的XML 的API
DOM 文档对象模型
XML文件

<?xml version ="1.0" encoding="UTF8"

    standalone="yes"?>

<!--以下是你一个学生名单-->

<student_list>

    <student>

        <stu_num>200030081205</stu_num>

        <stu_name>otis</stu_name>

        <stu_class>T23</stu_class>

    </student>

    <student>

        <stu_num>200330081205</stu_num>

        <stu_name>this</stu_name>

        <stu_class>T24</stu_class>

    </student>

</student_list>


XML的解析

-(IBAction)btnClickXMLParseOfSAX:(id)sender

{//加载文件

    NSString*path=[[NSBundlemainBundle]pathForResource:@"text"ofType:@"xml"];

    NSFileHandle*file=[NSFileHandlefileHandleForReadingAtPath:path];//定义一个文件句柄关联路径

    NSData*data=[file readDataToEndOfFile];//读取文件数据到DATA

    [file closeFile];//关闭文件

    

    self.m_pXmlPatse=[[NSXMLParseralloc]initWithData:data];//根据XML数据进行创建解析器

    [self.m_pXmlPatsesetDelegate:self];     //设定代理

    self.m_pStrSaxTmp=[[NSMutableStringalloc]init];

    self.m_pStrSaxResult=[[NSMutableStringalloc]init];

    BOOL flag=[_m_pXmlPatseparse];//解析  返回一个BOOL 标志解析成功或失败

    

    if (flag) {

        [_m_pStrSaxResultappendFormat:@"%@\r\n",@"获取指定路径的 xml 文件失败"];

    }

    else

    {

        [_m_pStrSaxResultappendFormat:@"%@\r\n",@"获取指定路径的 xml 文件失败"];

    }

}

-(void)parserDidStartDocument:(NSXMLParser *)parser

{

    [_m_pStrSaxResultappendFormat:@"%@\r\n",@"开始解析 xml of SAX文件"];

    [_m_pStrSaxResultappendFormat:@"%@\r\n",@"******student********"];

}

-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string//遇到数据时回调,

{

    [_m_pStrSaxTmpsetString:@" "];

    [_m_pStrSaxTmpappendFormat:@"%@",string];

    NSLog(@"string=%@",string);

}


-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName

{

    if (NSOrderedSame==[elementName compare:@"student"]) {

        [_m_pStrSaxResultappendFormat:@"%@\n",@"**********student*******"];

    }

    else if(NSOrderedSame==[elementName compare:@"student_list"])

    {

    }

else{

    [_m_pStrSaxResultappendFormat:@"%@=%@\r\n",elementName,_m_pStrSaxTmp];

}

}

//完成解析XML文档

-(void)parserDidEndDocument:(NSXMLParser *)parser

{

    [_m_pStrSaxResultappendFormat:@"%@",@"解析xml 完成"];

    [_m_pTextViewResultsetText:_m_pStrSaxResult];

}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值