1

提前致谢!我想知道是否可以将存储在 NSString 中的 HTML 代码转换为 NSData 以便稍后解析。我正在从 BBDD 读取 HTML 代码并将其保存到 NSString 中。

NSString *htmlString =@"<html><body><p>introduccion</p><p>introducción</p></body></html>";

我想使用:

NSData *nsData = [[NSData alloc] initWithContentsOfURL:url];

但是我必须使用 htmlString 而不是 initWithContentsOfURL,因为我将代码存储在 BBDD 中,并且我正在访问它并将代码存储到 NSString

谢谢!

4

2 回答 2

2

为什么不使用标准方法将 NSString 转换为 NSData,如下所示:

NSData* data = [htmlString dataUsingEncoding:NSUTF8StringEncoding];
于 2013-08-02T09:14:36.507 回答
0

我的“subject.details”中有一些 html 格式的文本,我在正面和背面添加了更多的 html 格式。给我一个“detailsS​​tringForDisplay”NSString。

我将此字符串转换为 NSData。设置一个字典,它只包含一个元素来说明文档类型是 HTML。

然后最后使用数据和字典设置一个属性文本。

        NSString *fontDetailsHTML = @"<div style=\"font-size:17px; text-family:Georgia; \">";
        NSString *detailsString = subject.details;
        NSString *endFontDetailsHTML = @"</div>";
        NSString *detailsStringForDisplay = [NSString stringWithFormat:@"%@%@%@",fontDetailsHTML,detailsString,endFontDetailsHTML];
        NSData *labelTextData = [detailsStringForDisplay dataUsingEncoding:NSUnicodeStringEncoding allowLossyConversion:true];

    NSDictionary *attributesForText = [[NSDictionary alloc]initWithObjectsAndKeys:NSHTMLTextDocumentType,NSDocumentTypeDocumentAttribute , nil];

    self.detailDescriptionLabel.attributedText = [[NSAttributedString alloc]initWithData:labelTextData options:attributesForText documentAttributes:nil error:nil];
于 2016-07-28T10:04:54.560 回答