从xml内容字符串访问关键字

麦克·洛弗

我有一个包含一些文本的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);

但返回我为空!

Paresh navadiya

使用的XMLReader提供NSDictionaryXMLStringXMLData使用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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

解析关键字输入的字符串,后跟内容

来自分类Dev

关键字搜索字符串

来自分类Dev

用固定关键字分割字符串

来自分类Dev

如何按特定关键字分割字符串?

来自分类Dev

Groovy中带字符串的* in *关键字

来自分类Dev

从字符串中提取关键字:Javascript

来自分类Dev

Dart中的this关键字,字符串插值

来自分类Dev

多个条件if语句字符串关键字:in,而不是in

来自分类Dev

Android部分字符串关键字匹配

来自分类Dev

在使用的Android。载()关键字的字符串匹配

来自分类Dev

在字符串中的关键字之前删除“ \ n”

来自分类Dev

随机替换字符串中的关键字

来自分类Dev

字符串中的Django queryset关键字

来自分类Dev

用关键字匹配列表分割字符串?

来自分类Dev

Excel字符串相似度/关键字比较

来自分类Dev

检查关键字是否在字符串中

来自分类Dev

如何用“ like”关键字匹配字符串?

来自分类Dev

根据关键字分割字符串

来自分类Dev

仅在模式/关键字之后返回字符串

来自分类Dev

如何在字符串中查找关键字

来自分类Dev

按关键字分割字符串并返回字典

来自分类Dev

从python中的字符串输出匹配关键字

来自分类Dev

用固定关键字分割字符串

来自分类Dev

如何按特定关键字分割字符串?

来自分类Dev

从字符串中提取关键字:Javascript

来自分类Dev

将字符串扩展为关键字

来自分类Dev

如何使用“-”关键字分割字符串?

来自分类Dev

使用关键字解析字符串

来自分类Dev

Oracle 按字符串关键字排序或排名