从index.html objective-c中提取表

从index.html objective-c中提取表,html,objective-c,parsing,stringbyevaluatingjavascr,Html,Objective C,Parsing,Stringbyevaluatingjavascr,问题如下: 我正在尝试使用“stringByEvaluatingJavaScriptFromString”从html获取一个表。表本身被拉入NSLog,但她不想出现在UIWebView中。这是我的密码: - (void)viewDidLoad { [super viewDidLoad]; paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); fil

问题如下: 我正在尝试使用“stringByEvaluatingJavaScriptFromString”从html获取一个表。表本身被拉入NSLog,但她不想出现在UIWebView中。这是我的密码:

- (void)viewDidLoad
{
    [super viewDidLoad];

    paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    filePath = [NSString stringWithFormat:@"%@/%@", [paths objectAtIndex:0],@"index.html"];

    [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:filePath]]];
}

- (void)webViewDidFinishLoad:(UIWebView*)webView1
{
    NSLog(@"webViewDidFinishLoad");

    html = [webView stringByEvaluatingJavaScriptFromString: @"document.body.getElementsByClassName('bottomwideborder')[1].innerHTML;"];
    html1 = [NSString stringWithFormat:@"<html><body>%@</body></html>", html];
    [webView loadHTMLString:html1 baseURL:[NSURL URLWithString:filePath]]; //Here page does not refresh

    NSLog(@"%@", html1); //It's all displayed

   [webView stopLoading];
}
-(void)viewDidLoad
{
[超级视图下载];
路径=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,是);
filePath=[NSString stringWithFormat:@“%@/%@”,[paths objectAtIndex:0],@“index.html”];
[webView loadRequest:[NSURLRequestRequestWithURL:[NSURL URLWithString:filePath]];
}
-(无效)webViewDidFinishLoad:(UIWebView*)webView1
{
NSLog(@“webViewDidFinishLoad”);
html=[webView stringByEvaluatingJavaScriptFromString:@“document.body.GetElementsByCassName('bottomwideborder')[1].innerHTML;”;
html1=[NSString stringWithFormat:@“%@”,html];
[webView loadHTMLString:html1 baseURL:[NSURL URLWithString:filePath]];//此处页面不刷新
NSLog(@“%@”,html1);//全部显示
[webView停止加载];
}
我认为这个页面应该以某种方式更新,但我不知道如何更新((


请帮助!

这可能是一个简单的变量命名错误

我明白了:

- (void)webViewDidFinishLoad:(UIWebView*)webView1
当您将该函数中的所有内容都称为“
webView
”(不包括“
1
”)时


另外,请确保您的“
webView
”不为空,并且它是您所期望的,因为您正试图用(显然已正确解析的)
html1
”代码加载它。

然后,我得到一个错误-本地声明“webView”隐藏实例变量作为结果,我只显示index.html,但它没有更新。在NSLog输出中,我需要它!哦,我知道你正在尝试做什么(和啊)。不要执行这种双重web视图加载。尝试另一种方法:加载“
NSString
”对象,而不是直接将html加载到web视图中(通过类似的方式,然后从中解析出您的“表”,并将解析后的表HTML加载到您的web视图中。哦,如果不使用“stringByEvaluatingJavaScriptFromString”,我如何从NSString中提取表呢?您可能值得为此设置一个单独的问题(否则,我们将对您的问题有很长的评论历史)但是,我会考虑的两种方法是从表格HTML中解析出蛮力,或者用字符串加载一个屏幕/不可见的WebVIEW,然后运行该方法。