1

を作成しUIWebView、HTMLファイルを使用していくつかのコンテンツを表示しました。しかし、コンテンツを表示する代わりに実行すると、HTMLファイルのコーディング全体のみがWebViewに表示されます。助けて、何が悪いのか教えてください。

UIWebView *ingradients= [[UIWebView alloc]init];
    [ingradients setFrame:CGRectMake(10, 170, 300, 300)];
    [ingradients loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"htmlfile" ofType:@"html"]isDirectory:NO]]];
    ingradients.delegate=self;
    [self.view addSubview:ingradients];

私のhtmlfile.htmlには

<html>
<body>
<p><strong>Ingredients</strong></p>
</body>
</html>

「成分」を太字で表示する代わりに、htmlfile.htmlのコーディング全体を表示します

4

3 に答える 3

2

htmlfileリクエストは常に拡張子付きのファイルを返すため、コードには常にHTMLコードが含まれています.html

コンテンツから特定の値を取得する場合は、を使用してコンテンツを分割HTMLする必要があります。また、これは、コンテンツ の解析に使用される例を含むドキュメントです。 HTMLHppleHTML

あなたの場合、あなたは以下を使用します:(を使用してHpple)。

TFHpple *dataParser = [TFHpple hppleWithHTMLData:placesData];

    // name of place
NSString *XpathQueryString = @"//p/strong";
NSArray *listOfdata= [dataParser searchWithXPathQuery: XpathQueryString];
于 2013-02-28T06:45:55.863 に答える
2

これは奇妙なことです。私はこれに似たコードを持っており、htmlはリッチテキストとしてレンダリングされますが、プレーンテキストとしてはレンダリングされません(あなたが持っているように)。私が持っている唯一の違いは使用していますが、でfileURLWithPath:はありませんfileURLWithPath:isDirectory:。これが私のコードです:

NSString *localFilePath = [[NSBundle mainBundle] pathForResource:@"about" ofType:@"html"];
NSURLRequest *localRequest = [NSURLRequest requestWithURL:[NSURL fileURLWithPath:localFilePath]];
[_aboutWebView loadRequest:localRequest];

ファイルのエンコーディングに問題があるかもしれませんが、私が推測する限り、そうではないはずです。

于 2013-02-28T06:52:44.213 に答える
0

このコードを試してください:

- (NSString *) rootPath{
    return [NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask, YES) lastObject];
}

- (NSString *) pathFoResourse : (NSString *) resourseName ofType: (NSString *)type{
    NSString *path = [[MMSupport rootPath] stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.%@", resourseName, type]];
    if (![[NSFileManager defaultManager] fileExistsAtPath:path]) {
        path = [[NSBundle mainBundle] pathForResource:resourseName ofType:type];
    }
    NSLog(@"**path:%@**", path);
    return path;
}

- (void) loadDataToWebView : (CGRect) frame{
    NSString *htmlString =  [NSstring stringWithContentsOfFile:[MMSupport pathFoResourse:@"filename" ofType:@"html"] encoding:NSUTF8StringEncoding) error:nil];
    UIWebView *webView = [[UIWebView alloc] initWithFrame:frame];
    [webView loadHTMLString:htmlString baseURL:nil];
}
于 2013-02-28T07:03:11.433 に答える