【问题标题】:NSString with HTML code to NSData带有 HTML 代码的 NSString 到 NSData
【发布时间】:2013-08-02 09:10:29
【问题描述】:

提前致谢! 我想知道是否可以将存储在 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

谢谢!

【问题讨论】:

    标签: nsstring nsdata


    【解决方案1】:

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

    NSData* data = [htmlString dataUsingEncoding:NSUTF8StringEncoding];
    

    【讨论】:

    • 嗨,它对我不起作用我正在尝试这个:NSString htmlString = @"...一些 HTML 代码...."; NSData nsData = [htmlString dataUsingEncoding:NSUTF8StringEncoding];
    【解决方案2】:

    我的“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];
    

    【讨论】:

      猜你喜欢
      • 2011-03-02
      • 2017-09-15
      • 1970-01-01
      • 2012-04-13
      • 1970-01-01
      • 2012-01-17
      • 2011-08-31
      • 1970-01-01
      • 2011-11-17
      相关资源
      最近更新 更多