博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解析xml
阅读量:5772 次
发布时间:2019-06-18

本文共 4689 字,大约阅读时间需要 15 分钟。

新建一个Singal View Application 的工程,并在.xib文件中拖入如下控件

为每个控件都关联一个outlet,

 

@property (retain, nonatomic) IBOutlet UILabel *_todayInfo;@property (retain, nonatomic) IBOutlet UILabel *_todayTemp;@property (retain, nonatomic) IBOutlet UIImageView *_imageviewtoday;@property (retain, nonatomic) IBOutlet UILabel *_nextInfo;@property (retain, nonatomic) IBOutlet UILabel *_nextTemp;@property (retain, nonatomic) IBOutlet UIImageView *_imageviewtomorrow;

 

解析XML首先要导入两个库。

导入 SDWebImage开源库

<1>

 

v
1
.首先
添加
SDWebImage
project
进我们的工程
v
v
2.
添加依赖
v
“Build Phases” ->“Link
Binary With
Libraries”
添加
  “
ImageIO.framework
v
v
3.
添加
Linker
Flag
v
打开
“Build Settings”
-
> “Linking” ->“Other
Linker
Flags”
添加
"
-
ObjC
v
v
4.
在使用的地方添加头文件
v
#
import <
SDWebImage
/
UIImageView+WebCache.h
>

 

 

<2>

 

 
v
再添加
GDataXML
v
1
.
选中项目,选中“
Build Setting”
标签页,将顶部的“
basic”
标签页切换到“
all”
v
2.
找到“
search Paths”
的“
header search path”
项,并添加“
/user/include/libxml2"
到列表中。
v
/Applications/
Xcode.app
/Contents/Developer/Platforms/
iPhoneOS.platform
/Developer/SDKs/iPhoneOS6.1.sdk/
usr
/include/libxml2
v
3.
找到”
Linking\other linker Flags“
项,并添加”
-lxml2“
到列表中。

添加依赖

 

v4.在“Build Phases” ->“Link Binary With Libraries” 添加 

frameworkslibxml2.2.dylb

 

 

接着在ViewController.m文件中引入两个库的头文件

#import 
#import "GDataXMLNode.h"
最后在- (
void)viewDidLoad{ }函数中加入如下代码:

 

 

- (void)viewDidLoad{    [super viewDidLoad];	// Do any additional setup after loading the view, typically from a nib.    NSString *url = [@"http://webservice.webxml.com.cn/webservices/weatherwebservice.asmx/getWeatherbyCityName?thecityname=广州" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];        NSString *xml=[NSString stringWithContentsOfURL:[NSURL URLWithString:url] encoding:NSUTF8StringEncoding error:nil];        GDataXMLDocument *doc = [[[GDataXMLDocument alloc]initWithXMLString:xml options:0 error:nil]autorelease];        NSArray *nodes=[doc.rootElement children];    for(GDataXMLNode *node in nodes){        NSLog(@"node=%@",[node stringValue]);    }    GDataXMLNode *n1 = [nodes objectAtIndex:6];    _todayInfo.text=[n1 stringValue];    GDataXMLNode *n2 = [nodes objectAtIndex:5];    _todayTemp.text=[n2 stringValue];    GDataXMLNode *n3 = [nodes objectAtIndex:13];    _nextInfo.text=[n3 stringValue];    GDataXMLNode *n4 = [nodes objectAtIndex:12];    _nextTemp.text=[n4 stringValue];        GDataXMLNode *n5 = [nodes objectAtIndex:9];    GDataXMLNode *n6 = [nodes objectAtIndex:16];        NSString *strImage=[NSString stringWithFormat:@"http://www.webxml.com.cn/images/weather/b_%@",[n5 stringValue]];    [_imageviewtoday setImageWithURL:[NSURL URLWithString:strImage] placeholderImage:[UIImage imageNamed:@"b_nothing.gif"]];    strImage=[NSString stringWithFormat:@"http://www.webxml.com.cn/images/weather/b_%@",[n6 stringValue]];    [_imageviewtomorrow setImageWithURL:[NSURL URLWithString:strImage] placeholderImage:[UIImage imageNamed:@"b_nothing.gif"]];}
运行结果如下,已经正确的从网上读取到xml文件并解析成功。

 

以上链接的XML文件如下,可以对照着XML文件和代码,看看是如何解析xml的。

 

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns="http://WebXml.com.cn/">
<string>
广东 </string>
<string>
广州 </string>
<string>
59287 </string>
<string>
59287.jpg </string>
<string>
2013-9-8 23:56:07 </string>
<string>
24℃/33℃ </string>
<string>
9月9日 晴 </string>
<string>
无持续风向微风 </string>
<string>
0.gif </string>
<string>
0.gif </string>
<string>
今日天气实况:气温:25℃;风向/风力:北风 1级;湿度:97%;空气质量:较差;紫外线强度:很强 </string>
<string>
穿衣指数:炎热,建议穿短衫、短裤等清凉夏季服装。 过敏指数:较易发,外出需远离过敏源,适当采取防护措施。 运动指数:较适宜,户外运动请注意防晒。 洗车指数:适宜,天气较好,适合擦洗汽车。 晾晒指数:极适宜,天气不错,抓紧时机让衣物晒太阳吧。 旅游指数:较适宜,天气略热,外出请注意防晒哦! 路况指数:干燥,天气较好,路面比较干燥,路况较好。 舒适度指数:较不舒适,晴,有些热。 空气污染指数:较差,气象条件较不利于空气污染物扩散。。 紫外线指数:很强,涂擦SPF20以上,PA++护肤品,避强光。
</string>
<string>
25℃/33℃ </string>
<string>
9月10日 晴 </string>
<string>
无持续风向微风 </string>
<string>
0.gif </string>
<string>
0.gif </string>
<string>
25℃/33℃ </string>
<string>
9月11日 晴转多云 </string>
<string>
无持续风向微风 </string>
<string>
0.gif </string>
<string>
1.gif </string>
<string>
广州是广东省的省会,是中国南方最大的海滨城市,广州位于东经113。17`,北纬23。8`,地处中国大陆南部,广东省南部,珠江三角洲北缘。广州临南海,邻近香港特别行政区,是中国通往世界的南大门,广州属丘陵地带。中国的第三大河----珠江从广州市中心穿流而过。广州是一座历史文化名城。相传在远古时候,曾有五位仙人,身穿五色彩服、骑着嘴衔稻穗的五色仙羊降临此地,把稻穗赠给百姓,祝愿这里永无饥荒。从此,广州便有“羊城”、“穗城”的美称,“五羊”也成为广州的象征。广州既是中国也是世界名城,又是一座古城,因历史上有五羊仙子降临献稻穗的故事,广州又称为“羊城”和“穗城”,简称“穗”;广州一年四季如春、繁花似锦,除夕迎春花市闻名海内外,故又有“花城”的美誉。广州地处低纬,属南亚热带季风气候区。地表接受太阳辐射量较多,同时受季风的影响,夏季海洋暖气流形成高温、高湿、多雨的气候;冬季北方大陆冷风形成低温、干燥、少雨的气候。年平均气温为21.4-21.9度,年降雨量平均为1623.6-1899.8mm,北部多于南部。1982年,广州被国务院选定为全国首批历史文化名城之一,是我国重点旅游城市。1999年1月,广州被评为优秀旅游城市。景观:白云山、莲花山、南海神庙、佛山祖庙、广州动物园等。
</string>
</ArrayOfString>

 

 

你可能感兴趣的文章
C++的头文件处理
查看>>
poj 2763(LCA + dfs序 +树状数组)
查看>>
计算机学院大学生程序设计竞赛(2015’12) 1006 01 Matrix
查看>>
HDU 5698 瞬间移动
查看>>
用Ant实现Java项目的自动构建和部署
查看>>
2019拼多多前端笔试
查看>>
获取input file 选中的图片,并在一个div的img里面赋值src实现预览
查看>>
Hibernate抽取BaseDao
查看>>
typedef BOOL(WINAPI *MYFUNC) (HWND,COLORREF,BYTE,DWORD);语句的理解
查看>>
cocos2dx继承结构图
查看>>
jsp 特殊标签
查看>>
[BZOJ] 1012 [JSOI2008]最大数maxnumber
查看>>
使用VMware安装CentOS
查看>>
gauss消元
查看>>
天龙八部源码描述
查看>>
多线程-ReentrantLock
查看>>
数据库架构
查看>>
【转】图文详解硬盘安装fedora
查看>>
转:LR和QTP的区别
查看>>
Loadrunner Get&Post方法性能测试脚本解析
查看>>