XML的POST传递并接收数据

iPhone实现XML的POST传递并接收数据是本文要介绍的内容,文章是基于代码实现,在iphone开发中,经常会遇到和服务器端交互数据,下面代码是向服务器端传递一个xml数据流,服务器端接受数据并返回一个xml数据类型。

iphone传递数据的代码:

 1 -(void) postxml   
2 {
3 //prepar request
4 NSString *urlString = [NSString stringWithFormat:@"path"];

5 NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
6 [request setURL:[NSURL URLWithString:urlString]];
7 [request setHTTPMethod:@"POST"];
8 //set headers
9 NSString *contentType = [NSString stringWithFormat:@"text/xml"];

10 [request addValue:contentType forHTTPHeaderField: @"Content-Type"];
11 //create the body
12 NSMutableData *postBody = [NSMutableData data];

13 [postBody appendData:[[NSString stringWithFormat:@"<Request Action=\"Login\">"] dataUsingEncoding:NSUTF8StringEncoding]];
14 [postBody appendData:[[NSString stringWithFormat:@"<Body>"] dataUsingEncoding:NSUTF8StringEncoding]];
15 [postBody appendData:[[NSString stringWithFormat:@"<Username>wangjun</Username>"] dataUsingEncoding:NSUTF8StringEncoding]];
16 [postBody appendData:[[NSString stringWithFormat:@"<Password>password</Password>"] dataUsingEncoding:NSUTF8StringEncoding]];
17 [postBody appendData:[[NSString stringWithFormat:@"<PlatformID>2</PlatformID>"] dataUsingEncoding:NSUTF8StringEncoding]];
18 [postBody appendData:[[NSString stringWithFormat:@"<PlatformVersion>3.1.3</PlatformVersion>"] dataUsingEncoding:NSUTF8StringEncoding]];
19 [postBody appendData:[[NSString stringWithFormat:@"<TaskViewerName>IP 1.3</TaskViewerName>"] dataUsingEncoding:NSUTF8StringEncoding]];
20 [postBody appendData:[[NSString stringWithFormat:@"<TaskViewerVersion>3</TaskViewerVersion>"] dataUsingEncoding:NSUTF8StringEncoding]];
21 [postBody appendData:[[NSString stringWithFormat:@"</Body>"] dataUsingEncoding:NSUTF8StringEncoding]];
22 [postBody appendData:[[NSString stringWithFormat:@"</Request>"] dataUsingEncoding:NSUTF8StringEncoding]];
23 //post
24 [request setHTTPBody:postBody];

25 //get response
26 NSHTTPURLResponse* urlResponse = nil;

27 NSError *error = [[NSError alloc] init];
28 NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&error];
29 NSString *result = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
30 NSLog(@"Response Code: %d", [urlResponse statusCode]);
31 if ([urlResponse statusCode] >= 200 && [urlResponse statusCode] < 300) {
32 NSLog(@"Response: %@", result);
33 }
34 }



运行结果是:

1 2010-09-09 13:19:25.190 PostXmlDemo1[685:307] 点击我了,哈哈   
2 2010-09-09 13:19:28.450 PostXmlDemo1[685:307] Response Code: 200
3 2010-09-09 13:19:28.456 PostXmlDemo1[685:307] Response:
4 <Response Action=’Login’><Cookie>DFGHJYUIILNBV$%^&*gghj^&IUF%^R^DFYUIHNVB
5 </Cookie><Body><User Name=’用户名’ >< Avatar>登陆用户头像URL</Avatar></User><State>1</State><Description>
6 登陆成功后的描述信息。</Description></Body></Response>



小结

iPhone实现XMLPOST传递并接收数据的内容介绍完了,希望本文对你有所帮助。

本文来自:http://wangjun.easymorse.com/?p=864

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值