当请求xml数据时,直接通过NSMutableData接收后解析,

NSURL *url = [NSURL URLWithString:PATH];

_receiveData = [[NSMutableData alloc] initWithContentsOfURL:url];

GDataXMLDocument *doc = [[GDataXMLDocument alloc] initWithData:_receiveData encoding:NSUTF8StringEncoding error:nil];

GDataXMLElement *root = [doc rootElement];

而请求的是json数据时,需要使用NSURLConnection的对象和协议方法来异步请求数据,该方法是苹果系统提供的.

NSURL *url=[NSURL URLWithString:path];

将请求的服务器地址封装在一个请求对象

NSURLRequest *request=[NSURLRequest requestWithURL:url];

创建一个对象,自动将比较费时的请求数据的操作启动一个子线程去执行,数据请求到后通过协议方法回到UI

_urlConnection=[[NSURLConnection alloc]initWithRequest:request delegate:self];

协议方法

//当请求过程中出现错误(没有网络,请求超时。。。)时执行此协议方法

-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error;

接收到服务器响应请求时执行的协议方法,response是服务器对客户端请求的一个响应对象

-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response

{

//响应应该是NSHTTPURLResponse类型的

NSHTTPURLResponse *res=(NSHTTPURLResponse*)response;

//获取响应的头部

NSLog(@"%@",res.allHeaderFields);

//响应的状态码:200成功,404资源不存在

NSLog(@"%ld",res.statusCode);

//清空缓冲区的数据

[_receiveData setLength:0];

}

//请求到数据data,如果数据量很大,该方法会被调用多次

-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data

{

[_receiveData appendData:data];

}

//请求结束,数据接收完毕调用此协议方法

-(void)connectionDidFinishLoading:(NSURLConnection *)connection

{

//1、解析数据

NSDictionary *dict=[NSJSONSerialization JSONObjectWithData:_receiveData options:NSJSONReadingMutableContainers error:nil];

NSArray *array=dict[@"users"];

[_dataArray addObjectsFromArray:array];

//2、刷新界面

[self.tableView reloadData];

}

请求json和xml数据时的方式的更多相关文章

  1. iOS开发——网络Swift篇&JSON与XML数据解析

    JSON与XML数据解析 JSON数据解析(内置NSJSONSerialization与第三方JSONKit)   一,使用自带的NSJSONSerialization 苹果从IOS5.0后推出了SD ...

  2. Ajax--PHP+JQuery+Ajax解析json、XML数据、加载页面

    一.JQuery+Ajax用get.post方式提交和请求数据 知识要点: $('#userName').blur(function () { var txt = $(this).val(); $.a ...

  3. php生成json或者xml数据

    , ,'数据返回成功',$arr);echo $xml;?>

  4. wcf序列化大对象时报错:读取 XML 数据时,超出最大

    错误为: 访问服务异常:格式化程序尝试对消息反序列化时引发异常: 尝试对参数 http://tempuri.org/ 进行反序列化时出 错: request.InnerException 消息是“反序 ...

  5. InnerException 消息是“反序列化对象 属于类型 *** 时出现错误。读取 XML 数据时,超出最大字符串内容长度配额 (8192)。(注意细节)

    WEB站点在调用我们WCF服务的时候,只要传入的参数过长,就报如下错误: 格式化程序尝试对消息反序列化时引发异常: 尝试对参数 http://tempuri.org/ 进行反序列化时出错: formD ...

  6. C#解析json和xml数据

    C#解析json和xml数据 // 用到的包using Newtonsoft.Json; // using Newtonsoft.Json.Linq; const string value = &qu ...

  7. Web Service 或 WCF调用时读取 XML 数据时,超出最大字符串内容长度配额(8192)解决方法

    1.调用服务时服务 当我们使用 Web Service 或 WCF 服务时,常把读取的数据转化为string类型(xml格式),当数据量达到一 定数量时,会出现以下异常: 错误:格式化程序尝试对消息反 ...

  8. 读取 XML 数据时,超出最大字符串内容长度配额 (8192)

    格式化程序尝试对消息反序列化时引发异常: 尝试对参数 http://www.thermo.com/informatics/xmlns/limswebservice 进行反序列化时出错: Process ...

  9. 格式化程序尝试对消息反序列化时引发异常: 尝试对参数 http://tempuri.org/ 进行反序列化时出错: GetLzdtArticleResult。InnerException 消息是“反序列化对象 属于类型 lzdt.DTO.Dtolzdt[] 时出现错误。读取 XML 数据时,超出最大

    当遇到这个错误的时候郁闷了好长时间报错是字符串长度过大可是修改了MaxStringContentLength”属性的值却不起作用最后才发现还是因为配置文件配置的问题在服务端 格式化程序尝试对消息反序列 ...

随机推荐

  1. TP id 对字符串的查找

    // 还剩的图片的id $oldPid = implode(',', $_POST['OldGoodsPic']); // 从数据库中找需要出删除了的 FIND_IN_SET(id,'$oldPid' ...

  2. Spring4 MVC+ AngularJS CRUD使用$http实例

    这篇文章显示了使用Spring MVC4整合AngularJS.我们将创建一个使用后端和AngularJS作为前端的纯JSP封装Spring REST API一个CRUD应用程序, 使用 $http ...

  3. SourceInsight 不断无响应的有关问题

    SourceInsight 不断无响应的问题 sourceinsight3使用过程中,如果是大工程,总是出现抽筋的现象,CPU使用.内存占用都很高,阅读android源码不断出现无响应.后发现主要是因 ...

  4. 笔记-Android学习历程

    1. Junit 配置:在manifest节点下 写入instrumentation,在其兄弟节点下配置application <instrumentation android:name=&qu ...

  5. Android自定义Button字体颜色和背景颜色

    http://blog.csdn.net/breeze666/article/details/7747649

  6. 标准模板库--STL

    标准模板库STL 1.泛型程序设计 C++ 语言的核心优势之一就是便于软件的重用 C++中有两个方面体现重用: 1.面向对象的思想:继承和多态,标准类库 2.泛型程序设计(generic progra ...

  7. 【BZOJ1941】[Sdoi2010]Hide and Seek KDtree

    [BZOJ1941][Sdoi2010]Hide and Seek Description 小猪iPig在PKU刚上完了无聊的猪性代数课,天资聪慧的iPig被这门对他来说无比简单的课弄得非常寂寞,为了 ...

  8. J - 迷宫问题(BFS)

    J - 迷宫问题 Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Descriptio ...

  9. Xamarin.Forms学习之Page Navigation(二)

    在上一篇的文章中,对页面常规的导航做一些分享,然而在实际的编程中,页面数据的保持,传值等等都有很多,这篇文章就对这些相关内容做一个分享和记录,有问题,希望大家留言指正.这一篇从实现业务逻辑来讲并没有什 ...

  10. Storm 集群安装

    http://archive.apache.org/dist/storm/  版本都在这 本人安装的是 其他版本的自行安装吧,估计都差不多 sudo mkdir /export/serverssudo ...