AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > JavaScript

XML文件转化成NSData对象的方法

51自学网 http://www.wanshiok.com
对象转nsdata,nsdata_xml,nsdata

 

NSData *xmlData = [[NSData alloc]initWithContentsOfFile:[NSString stringWithFormat:@"%@/People.xml",[[NSBundle mainBundle] resourcePath]]];   //2.将xmlData转化成xml文档   GDataXMLDocument *xmlDocument = [[GDataXMLDocument alloc]initWithData:xmlData options:0 error:nil];   //3.得到节点   GDataXMLElement *rootElement = xmlDocument.rootElement;   //4.得到子节点 /*NSArray *elementArray = rootElement.children;   //得到classone节点   GDataXMLElement *classoneElement = [elementArray firstObject];   for(GDataXMLElement *element in classoneElement.children)   {     //得到当前节点的文本值     NSLog(@"%@",element.stringValue);     if (element.children.count>0) {       GDataXMLElement *infoElement = [element.children lastObject];       //获得节点的所有属性和属性值       NSArray *attArray = infoElement.attributes;       for (GDataXMLElement *attElement in attArray) {         //得到属性名和属性值         NSLog(@"%@-%@",attElement.name,attElement.stringValue);       }     }   }   */   //模糊查找   NSArray *eArray = [rootElement nodesForXPath:@"//info" error:nil];   NSLog(@"%@",eArray); 

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);  }}


对象转nsdata,nsdata_xml,nsdata  
上一篇:jQuery实现文件上传进度条特效  下一篇:javascript实现点击单选按钮链接转向对应网址的方法