移动端常用的数据交互格式有xml和json两种方式

JSON

作为一种轻量级的数据交互格式,正在逐步取代xml ,成为数据的通用模式

基于javascript的一个子集 缺点 易读性略差,手动编写难度大,数据量小,JSON格式取代了XMl给网络传输带了很大的便利,但是却没有xml的一目了然

尤其是JSON数据很长的时候,我们会陷入繁琐的数据查找中

XMl可扩展语言 

用于标记电子文件使其具有结构性的标记语言 可用来标记数据,定义数据类型,是一种允许用户对自己的标记语言进行定义源语言

易读性高,编写难度小数据量大

1. 不要直接使用 NSData 的同步方法,否则无法设置 request 超时时间
2. 加载内容反序列化为 JSON 之后,可以先保存至 plist 文件,以便后续操作
3. 由于是网络应用,不要使用 UIImage 的同步加载方法设置 ImageView 的内容,否则容易造成应用阻塞,影响用户体验
NSXMLParser是SAX方法解析
sax只能读,不能修改,只能顺序访问,适合解析大型XML,解析速度快,使用于大数据的xml数据解析,实现异构系统的数据访问,实现跨平台
从文档的开始每一个节点移动到另一个节点结束
dom (document object Model)
不仅能读,还能修改,而且能够实现随机访问,缺点是访问速度慢,适合解析小型文档。为载入到内存的文档节点建立类型描叙
,可横向移动,巨大的树形结构,在内存中生成节点数代价昂贵

// 1. 开始解析XML文档

- (void)parserDidStartDocument:

// 2. 开始解析某个元素,会遍历整个XML识别元素节点名称

- (void)parser:didStartElement:namespaceURI:qualifiedName:attributes:

// 3. 文本节点,得到文本节点里存储的信息数据,对于大数据可能会接收多次!为了节约内存开销

- (void)parser:foundCharacters:

// 4. 结束某个节点存储从parser:foundCharacters:方法中获取到的信息

- (void)parser:didEndElement:namespaceURI:qualifiedName:

注意:在解析过程中,234三个方法会不停的重复执行,直到遍历完成为止

// 5. 解析XML文档结束

- (void)parserDidEndDocument:

// 6. 解析出错

- (void)parser:parseErrorOccurred:

// 测试加载本地PDF需要指定MIMETYPE

……

[_webView loadData:[NSData dataWithContentsOfFile:dataPath] MIMEType:@"application/pdf" textEncodingName:@"UTF-8" baseURL:nil];

// 测试加载本地文本文件,需要指定MIMETYPE

……

[_webView loadData:[NSData dataWithContentsOfFile:dataPath] MIMEType:@"text/plain" textEncodingName:@"UTF-8" baseURL:nil];

// 测试加载本地HTML文件,需要指定MIMETYPE

……

NSURL *baseURL = [NSURL fileURLWithPath:[[NSBundle mainBundle]resourcePath] isDirectory:YES];

[_webView loadData:[NSData dataWithContentsOfFile:dataPath] MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:baseURL];

说明:baseURL是基准URL程序要用到其他资源的位置


// 获取当前页面的url

NSString *url = [_webView stringByEvaluatingJavaScriptFromString:@"document.location.href"];

NSLog(@"url%@",url);

// 获取当前页面的标题

NSString*title = [_webView stringByEvaluatingJavaScriptFromString:@"document.title"];

NSLog(@"title%@",title);

// 提交表单

[_webView stringByEvaluatingJavaScriptFromString:@"document.forms[0].submit();"];

•UIWebView是内置浏览器控件,能够加载html、pdf、txt等多种格式文件
•常用加载方法:
loadRequest :
loadHTMLString:baseURL :
loadData:MIMEType:textEncodingName:baseURL :
•常用导航方法:
goBack– 回退  
goForward– 前进 
reload - 重载  
stopLoading- 取消载入内容
•常用属性:
scalespageToFit– 自动对页面进行缩放以适应屏幕
dataDetectorTypes- 设定电话号码、网址、电子邮件和日期等文字变为链接文字
•浏览器通过MIME标志符可以知道使用哪种插件读取相关文件
•iOS可以直接调用js代码与页面通讯

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值