如何在iphone中解析html字符串

问题描述:

我使用此代码发布和从服务器获取数据。如何在iphone中解析html字符串

NSString *post =[NSString stringWithFormat:@"any-data=%@", myData]; 

NSData *postData = [post dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES]; 

NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]]; 

NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease]; 
[request setURL:[NSURL URLWithString:@"http://your-server.com/your-script.php"]]; 
[request setHTTPMethod:@"POST"]; 
[request setValue:postLength forHTTPHeaderField:@"Content-Length"]; 
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 
[request setHTTPBody:postData]; 

NSURLResponse *response; 
NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; 
NSString *data=[[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding]; 
NSLog(@"Data: %@",data); 

,但问题是,当我的NSLog打印的数据则是在HTML中甲 我如何获得实际的结果在我的应用程序。

如何解析数据?

请给我,如果有任何refrence。

如果你只是在刮数据的HTML,NSScanner会做。如果你想显示数据,UIWebView将起作用。这取决于你想要用HTML做什么。您不需要XML解析器 - 在大多数情况下这是过度的。

+0

谢谢我使用nsscanner ... – 2010-07-26 10:24:24

您可以随时尝试搜索1.围绕Stack Overflow和2. Google

不幸的是,除非你能保证格式良好的XHTML,否则尝试这并不容易。如果您的XHTML 确实保证有效,那么您可以使用XSXMLParser。您还可以查看提供的libxml/HTMLparser.h中的HTMLParser.h代码,其中this link可能对您有所帮助。

我注意到很多应用程序都使用基本的字符串分割进行数据提取。

+0

我搜索这谷歌以及*但我没有找到任何确切的soln所以我问, 我使用libxml2,但在此代码中它需要HTML文件,但我有PHP文件,所以我如何实现与HTMLparser。 – 2010-07-24 11:59:44

+1

如果您可以提供一些输入,一些所需的输出以及您当前用于提取此信息的代码。它可以帮助人们给你建议。 – 2010-07-24 12:04:15

如果你觉得大胆,并且知道要从文档中提取什么内容,请查看RegexKit Lite。很明显,你将不得不拿出正确的正则表达式匹配刚好你正在搜索并捕获你感兴趣的内容。