一个解析XML数据的简单Demo(以KissXml为例)
2012-06-28 21:57
357 查看
1、添加附件里面的KissXML到工程
2、加入libxml2.dylib 到Frameworks
3、修改工程信息,右击Targets下工程名选“Get Info”,进入修改Header Search Paths值为:/usr/include/libxml2,如附件图
附件2为Demo,可运行。
PS:本Demo是以解析本地数据为例,解析网页数据可用:
NSString *content = [NSString stringWithContentsOfURL: url
encoding:NSUTF8StringEncoding
error:&error];
[string release];
[self parsedDataFromString:content];
}
-(void)parsedDataFromString:(NSString *)str{
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
DDXMLDocument *doc = [[DDXMLDocument alloc] initWithXMLString:str opti*****:0 error:nil];
/////解析
NSArray *items = [doc nodesForXPath:kXML error:nil];
for (DDXMLElement *obj in items) {
xmlData *data = [[xmlData alloc] init];
DDXMLElement *aUser = [obj elementForName:KUSER];
if(aUser)
data.user = aUser.stringValue;
DDXMLElement *aTitle = [obj elementForName:KTITLE];
if(aTitle)
data.title = aTitle.stringValue;
DDXMLElement *content = [obj elementForName:KCONTENT];
if(content)
data.content = content.stringValue;
NSDictionary *XmlDictionary;
XmlDictionary = [NSDictionary dictionaryWithObjectsAndKeys:
data.user,@"kUsers",
data.title,@"kTitles",
data.content,@"kContents",
nil];
[self performSelectorInBackground:@selector(parsedXml:) withObject:XmlDictionary];
[data release];
}
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
[doc release];
}
2、加入libxml2.dylib 到Frameworks
3、修改工程信息,右击Targets下工程名选“Get Info”,进入修改Header Search Paths值为:/usr/include/libxml2,如附件图
附件2为Demo,可运行。
PS:本Demo是以解析本地数据为例,解析网页数据可用:
NSString *content = [NSString stringWithContentsOfURL: url
encoding:NSUTF8StringEncoding
error:&error];
[string release];
[self parsedDataFromString:content];
}
-(void)parsedDataFromString:(NSString *)str{
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
DDXMLDocument *doc = [[DDXMLDocument alloc] initWithXMLString:str opti*****:0 error:nil];
/////解析
NSArray *items = [doc nodesForXPath:kXML error:nil];
for (DDXMLElement *obj in items) {
xmlData *data = [[xmlData alloc] init];
DDXMLElement *aUser = [obj elementForName:KUSER];
if(aUser)
data.user = aUser.stringValue;
DDXMLElement *aTitle = [obj elementForName:KTITLE];
if(aTitle)
data.title = aTitle.stringValue;
DDXMLElement *content = [obj elementForName:KCONTENT];
if(content)
data.content = content.stringValue;
NSDictionary *XmlDictionary;
XmlDictionary = [NSDictionary dictionaryWithObjectsAndKeys:
data.user,@"kUsers",
data.title,@"kTitles",
data.content,@"kContents",
nil];
[self performSelectorInBackground:@selector(parsedXml:) withObject:XmlDictionary];
[data release];
}
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
[doc release];
}
相关文章推荐
- 一个解析XML数据的简单Demo(以KissXml为例)
- Kissxml 解析 XML数据的简单Demo
- 解析xml数据的简单demo
- 一个简单的xml类,可以解析和生成xml文件数据
- 简单使用SAXReader解析xml数据
- 一个简单的使用XMLHttpRequest获得服务器数据的例子
- 【Android 网络数据解析实现一个简单的新闻实例(一)】
- python-21-如何读写json数据?如何解析简单的xml文档?
- DOM解析xml一个demo实例
- DOM4J学习笔记 --- Java简单解析XML数据
- 一个简单的Android Native(C/C++)网络数据加密方案(附带demo)
- Android中pull解析和生成xml数据到一个字符串中
- 35-002-1 struts前期之 通过JAVA反射机制及XML配置文件解析自定义一个MVC的简单框架
- 【Android 网络数据解析实现一个简单的新闻实例(一)】
- java实现一个叫简单的xml解析
- (二)Java解析XML:一个简单的解析XML文件的例子
- 通过soap请求webservice时,返回的数据是XML类型,有时候也需要解析本地的xml数据等,苹果自带类NSXMLParser解析xml还是很方便的,简单轻便
- java实现一个简单的机器学习和数据挖掘的demo
- Jquery Ajax解析XML数据(同步及异步调用)简单实例
- 一个简单的双击编辑表格单元格,更新数据表的demo。