2013-08-02 38 views
1

在此先感謝! 我想知道是否有可能將存儲在NSString中的HTML代碼轉換爲稍後解析的NSData。 我正在從BBDD讀取HTML代碼並將其保存到NSString中。NSString與NSData的HTML代碼

NSString *htmlString [email protected]"<html><body><p>introduccion</p><p>introducción</p></body></html>"; 

我想使用:

的NSData * NSData的= [[NSData的頁頭] initWithContentsOfURL:URL];

但不是initWithContentsOfURL我必須使用htmlString因爲我有存儲在BBDD的代碼,我訪問它和代碼存儲到的NSString

謝謝!

回答

2

你爲什麼不使用標準方法的NSString轉換爲NSData的是這樣的:

NSData* data = [htmlString dataUsingEncoding:NSUTF8StringEncoding]; 
+0

嗨,它不會對我的作品 我這個嘗試: 的NSString * htmlString = @「......一些HTML代碼。」 NSData * nsData = [htmlString dataUsingEncoding:NSUTF8StringEncoding]; – Samael

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];