您的位置:首页 > 移动开发 > IOS开发

ios xml

2016-06-29 10:59 483 查看
网站: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];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: