ios:如何将 html 数据转换为 nsstring?
Posted
技术标签:
【中文标题】ios:如何将 html 数据转换为 nsstring?【英文标题】:ios:how to Convert html data to nsstring? 【发布时间】:2014-02-05 11:40:07 【问题描述】:嗨,我项目中的朋友们,我的数据来自JSONserialization
。像这样以html data
接收某些数据的地方
<p>activity for m43 by c31</p>
我需要将此数据转换为nsstring
并显示它。我不知道如何转换它请帮助我提前谢谢。我已经完成了一些解决方案,但不清楚。如何将 HTML NSData 转换为 NSString?请帮助我提前谢谢
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
tweet = [[NSDictionary alloc]init];
tweet = [NSJSONSerialization JSONObjectWithData:webData options:kNilOptions error:nil];
[array1 addObject:[item objectForKey:@"activityTitle"]];//prints string data
[array2 addObject:[item objectForKey:@"activityType"]];//prints string data
[array3 addObject:[item objectForKey:@"id"]];//prints string data
[array4 addObject:[item objectForKey:@"sessionId"]];//prints string data
[array8 addObject:[item objectForKey:@"desc"]];// prints html data
NSLog(@"%@",array2);
NSString *str = [[NSString alloc] initWithData:webData encoding:NSUTF8StringEncoding];
NSLog(@"hiiiiiii",str);
我不知道如何将该 array8(包含 html 数据)转换为 nsstring。我需要显示它uitableviewcell。像这样 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 静态 NSString *simpleTableIdentifier =@"activismCell"; CAviewCELLCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier forIndexPath:indexPath];
cell.activitytitle.text = (NSString *)[array1 objectAtIndex:indexPath.row];
cell.idline.text = (NSString *)[array3 objectAtIndex:indexPath.row];
cell.descline.text = (NSString *)[array8 objectAtIndex:indexPath.row];
cell.issuelabel.text = (NSString *)[array9 objectAtIndex:indexPath.row];
cell.timelabel.text = (NSString *)[array10 objectAtIndex:indexPath.row];
sessid = (NSString *)[array4 objectAtIndex:indexPath.row];
token = (NSString *)[array6 objectAtIndex:indexPath.row];
apikey = (NSString *)[array7 objectAtIndex:indexPath.row];
NSLog(@"%@,%@",sessid,token);
NSString *stat =(NSString *)[array2 objectAtIndex:indexPath.row];
NSLog(@"%@",stat);
NSString *trimmedString = [stat stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
if([trimmedString isEqualToString:@"Two Way Video Streaming"] || [trimmedString isEqualToString:@"One Way Video Streaming"])
[cell.startvideo setHidden:FALSE];
[cell.startvideo setImage:[UIImage imageNamed:@"ca_video.png"] forState:UIControlStateNormal];
[cell.startvideo addTarget:self action:@selector(playAction) forControlEvents:UIControlEventTouchUpInside];
else
[cell.startvideo setHidden:TRUE];
return cell;
【问题讨论】:
NSJSONSerialization 从不创建 NSData 对象。所以,我想知道你从哪里得到那个 NSData 对象。无论如何,如果您的 html 嵌入在 JSON 中,它很可能已经表示为 NSString。 请粘贴您的代码。这将有助于发现问题。我认为您正在从后端请求 html 数据。 我添加了我的代码检查并帮助我 【参考方案1】:尝试使用 NSString 的 initWithData:encoding: 方法用您的数据创建一个字符串。
例子:
NSString *str = [[NSString alloc] initWithData:someData encoding:NSUTF8StringEncoding];
希望对您有所帮助。快乐编码:)
【讨论】:
不,它不起作用.. json 单个数据来自 html rest 接收正常字符串 点击此链接可能会对您有所帮助,behindtechlines.com/2012/05/display-html-strings-plaintext-ios【参考方案2】:使用 NSXMLParser 将带有 HTML 的 NSString 转换为纯文本字符串
NSString *urlString = @"www.myurl.com";
NSString *agentString = @"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; en-us) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1";
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:
[NSURL URLWithString:urlString]];
[request setValue:agentString forHTTPHeaderField:@"User-Agent"];
NSData *data = [ NSURLConnection sendSynchronousRequest:request returningResponse: nil error: nil ];
NSString *returnData = [[NSString alloc] initWithBytes: [data bytes] length:[data length] encoding: NSUTF8StringEncoding];
NSLog(returnData);
转到这个web 或this
【讨论】:
对我有帮助的好答案:)以上是关于ios:如何将 html 数据转换为 nsstring?的主要内容,如果未能解决你的问题,请参考以下文章
ios textview如何将内容转换为Html代码,需要将此数据发送到服务器