我有一个包含一些文本的URL:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict><key>title</key><string>HELLO </string><key>image</key><string>http://appersian.org/upcenter/images/main3-1409057358.jpg</string><key>description</key><string>YOOHOOO</string></dict></plist>
我需要访问像这样的关键字<key>title</key>
并将其显示为另一个字符串,这是我的代码来加载URL:
NSURL *URL = [NSURL URLWithString:@"http://appersian.net/sondos/services?action=events&num=1"];
NSError *error ;
NSString *PageContent = [NSString stringWithContentsOfURL:URL
encoding:NSASCIIStringEncoding
error:&error];
NSLog(@"%@",PageContent);
编辑:
NSURL *URL = [NSURL URLWithString:@"http://appersian.net/sondos/services?action=events&num=1"];
NSData *data = [NSData dataWithContentsOfURL:URL];
NSError *error = nil;
NSDictionary *dict = [XMLReader dictionaryForXMLData:data
options:XMLReaderOptionsProcessNamespaces
error:&error];
NSString *string = [dict objectForKey:@"title"];
NSLog(@"%@",string);
但返回我为空!
使用的XMLReader提供NSDictionary
的XMLString
和XMLData
使用NSXMLParser
用法:
NSError *error = nil;
NSDictionary *dict = [XMLReader dictionaryForXMLString:xmlStringHere
options:XMLReaderOptionsProcessNamespaces
error:&error];
NSLog(@"%@",dict);
在您的项目中添加GTMNSString-HTML以使用方法gtm_stringByUnescapingFromHTML
NSURL *URL = [NSURL URLWithString:@"http://appersian.net/sondos/services?action=events&num=1"];
NSError *error1;
NSString *strPageContent = [NSString stringWithContentsOfURL:URL encoding:NSUTF8StringEncoding error:&error1];
strPageContent = [strPageContent gtm_stringByUnescapingFromHTML];
if ([strPageContent rangeOfString:@"<plist version=\"1.0\">"].location != NSNotFound) {
NSRange range = [strPageContent rangeOfString:@"<plist version=\"1.0\">"];
strPageContent = [strPageContent substringWithRange:NSMakeRange(range.location+range.length, strPageContent.length-(range.location+range.length))];
strPageContent = [strPageContent stringByReplacingOccurrencesOfString:@"</plist>" withString:@""];
}
NSLog(@"%@",strPageContent);
NSError *error = nil;
NSDictionary *dictData = [XMLReader dictionaryForXMLString:strPageContent options:XMLReaderOptionsProcessNamespaces error:&error];
NSLog(@"dict: %@",dictData);
编辑:获取数据
if ([dictData count]>0) {
NSDictionary *dictInner = [dictData objectForKey:@"dict"];
//NSArray *arrkeys = [dictInner objectForKey:@"key"];
NSArray *arrValues = [dictInner objectForKey:@"string"];
NSString *strTitle = [[arrValues objectAtIndex:0] objectForKey:@"text"];
NSString *strImage = [[arrValues objectAtIndex:1] objectForKey:@"text"];
NSString *strDescription = [[arrValues objectAtIndex:2] objectForKey:@"text"];
NSLog(@"Title: %@ | Image: %@ | Desc: %@",strTitle,strImage,strDescription);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句