当请求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. IOS设计模式浅析之建造者模式(Builder)

    定义 "将一个复杂对象的构建与它的表现分离,使得同样的构建过程可以创建不同的表现". 最初的定义出现于<设计模式>(Addison-Wesley,1994). 看这个概 ...

  2. abp相关

    在.core中增加类.并指定属性长度. nutget 中运行Add-Migration 名称 Update-Database -Verbose 迁移成功. 1.安装指定版本类库install-pack ...

  3. Servlet 部署

    默认情况下,Servlet 应用程序位于路径 <Tomcat-installation-directory>/webapps/ROOT 下,且类文件放在 <Tomcat-instal ...

  4. 创建动作-Action:

    在Struts2的行动,唯一的要求是,必须有一个无参数的方法,该方法返回一个字符串或结果的对象,必须是一个POJO.如果不带参数的方法不指定,则默认行为是使用execute()方法. 您也可以选择扩展 ...

  5. SSH后台管理系统,实现查询+分页

    一个搜索框,然后会获取大量信息,将信息进行分页,每一页显示固定条数. mysql中使用“like”和“%%”进行模糊匹配,用“limit”进行分页. 1.首先创建一个页面信息的实体类,代码如下: im ...

  6. Android经常使用工具类DateUtils(二)

    在编写代码中,会经经常使用到时间Date这个类,小编整理了一些经常使用的时间工具类.供大家參考. import java.text.ParseException; import java.text.S ...

  7. 【BZOJ4771】七彩树 主席树+树链的并

    [BZOJ4771]七彩树 Description 给定一棵n个点的有根树,编号依次为1到n,其中1号点是根节点.每个节点都被染上了某一种颜色,其中第i个节点的颜色为c[i].如果c[i]=c[j], ...

  8. 《从零开始学Swift》学习笔记(Day 37)——默认构造函数

    原创文章,欢迎转载.转载请注明:关东升的博客 结构体和类的实例在构造过程中会调用一种特殊的init方法,称为构造函数.构造函数没有返回值,可以重载.在多个构造函数重载的情况下,运行环境可以根据它的外部 ...

  9. 《从零开始学Swift》学习笔记(Day 8)——小小常量、变量大作用

    原创文章,欢迎转载.转载请注明:关东升的博客   计算机语言学习中都有常量和变量,他们几乎是我编写代码的灵魂了,离开他们我真的是“活不了” 常量是标识符的前面加上关键字let.常量其值在使用过程中不会 ...

  10. Quality of service

    w https://en.wikipedia.org/wiki/Quality_of_service Quality of service (QoS) is the overall performan ...