码迷,mamicode.com
首页 > 其他好文 > 详细

XML解析

时间:2015-07-13 10:10:35      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:

 

    NSString *strGetMsgComefrom=@"<?xml version=\"1.0\" encoding=\"utf-8\"?>"

    "<soap12:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\">"

   "<soap12:Body>"

    "<GetMsgComefrom xmlns=\"http://tempuri.org/\" />"

    "</soap12:Body>"

    "</soap12:Envelope>";

    

    

    

    

    

    NSString *soapLength=[NSString stringWithFormat:@"%lu",(unsigned long)[strGetMsgComefrom  length]];

    AFHTTPRequestOperationManager *firstmanager=[AFHTTPRequestOperationManager manager];

    firstmanager.responseSerializer=[[AFHTTPResponseSerializer alloc]init];

    [firstmanager.requestSerializer setValue:@"application/soap+xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];

    [firstmanager.requestSerializer setValue:soapLength forHTTPHeaderField:@"Content-Length"];

    NSMutableURLRequest *request=[firstmanager.requestSerializer requestWithMethod:@"POST"

                                                                         URLString:@"http://192.168.2.214:86/webservice/WebService.asmx" parameters:nil

                                                                             error:nil];

    

    [request setHTTPBody:[strGetMsgComefrom  dataUsingEncoding:NSUTF8StringEncoding]];

    AFHTTPRequestOperation *operation=[firstmanager HTTPRequestOperationWithRequest:request

                                                                      success:^(AFHTTPRequestOperation *operation, id responseObject) {

                                                                          NSString *response=[[NSString alloc]initWithData:(NSData *)responseObject encoding:NSUTF8StringEncoding];

                                                                          [self initXml:response];

                                                                          NSLog(@"%@,%@",operation,response);

                                                                      }

                                                                      failure:^(AFHTTPRequestOperation *operation, NSError *error) {

                                                                          NSString *response=[[NSString alloc]initWithData:(NSData *) [operation responseObject]encoding:NSUTF8StringEncoding];

                                                                          NSLog(@"%@,====%@,%@",operation,error,response);

                                                                      }];

    

    

    

    [firstmanager.operationQueue addOperation:operation];

    

    

    

    // Do any additional setup after loading the view, typically from a nib.

}

 

-(void)initXml:(NSString *)value{

    NSError *error = nil;

    XmlParseHelper *xmlParse = [[XmlParseHelper alloc] initWithData:value];

    NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:@"http://tempuri.org/",@"result", nil];

    XmlNode *node= [xmlParse selectSingleNode:@"//result:GetMsgComefromResponse/result:GetMsgComefromResult" namespaces:dict];

  //  NSString * str = [node Value];

//    NSData *data=[str dataUsingEncoding:NSUTF8StringEncoding];

    NSLog(@"value:%@",[node Value]);

//    GDataXMLDocument *doc=[[GDataXMLDocument alloc]initWithData:data options:0 error:&error];

    GDataXMLDocument *doc = [[GDataXMLDocument alloc] initWithXMLString:[node Value] options:0 error:&error];

    NSArray *nodes = [doc nodesForXPath:@"//node" error:&error];

    

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

    for (GDataXMLElement *element in nodes)

    {

        NSString *sid=[[element attributeForName:@"sid"] stringValue];

      //  NSString *type=[[element attributeForName:@"type"] stringValue];

        NSString *name=[[element attributeForName:@"name"] stringValue];

        NSLog(@"==%@,==%@",sid,name);

    }

   

    

    

}

 

1.首先得包含该文件。

 

GDataXMLNode.h

GDataXMLNode.m

(google的那有)

2.在build phases 中包含

libxml2.dylib库。

3.build settings 设置 header search paths:

 ${SDK_DIR}/usr/include/libxml2

4.xml文件放在supporting files 文件下

XML解析

标签:

原文地址:http://www.cnblogs.com/linximu/p/4642046.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!