在Objective-C中解析HTML代碼實(shí)現(xiàn)原理
作者:月華如水 
  本文介紹的是在Objective-C中解析HTML代碼實(shí)現(xiàn)原理,主要是通過代碼來實(shí)現(xiàn)在Objective-C中如何解析HTML,來看本文詳細(xì)介紹。
 在Objective-C中解析HTML代碼實(shí)現(xiàn)原理是本文要介紹的內(nèi)容, 內(nèi)容不多,主要是通過代碼實(shí)現(xiàn)解析HTML的過程,希望本文對(duì)你有幫助。我們來看詳細(xì)內(nèi)容實(shí)現(xiàn)。
- #import "StringChuLi.h"
 - /*
 - 項(xiàng)目作用:鏈接網(wǎng)絡(luò)解析html
 - */
 - @implementation StringChuLi
 - //訪問網(wǎng)頁源碼
 - -(NSString *)urlString:(NSString *)value{
 - NSURL *url = [NSURL URLWithString:value];
 - NSData *data = [NSData dataWithContentsOfURL:url];
 - //解決中文亂碼,用GBK
 - NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
 - NSString *retStr = [[NSString alloc] initWithData:data encoding:enc];
 - return retStr;
 - }
 - /*
 - 作用:截取從value1到value2之間的字符串
 - str:要處理的字符串
 - value1:左邊匹配字符串
 - value2:右邊匹配字符串
 - */
 - -(NSString *)str:(NSString *)str value1:(NSString *)value1 value2:(NSString *)value2{
 - //i:左邊匹配字符串在str中的下標(biāo)
 - int i;
 - //j:右邊匹配字符串在str1中的下標(biāo)
 - int j;
 - //該類可以通過value1匹配字符串
 - NSRange range1 = [str rangeOfString:value1];
 - //判斷range1是否匹配到字符串
 - if(range1.length>0){
 - //把其轉(zhuǎn)換為NSString
 - NSString *result1 = NSStringFromRange(range1);
 - i = [self indexByValue:result1];
 - //原因:加上匹配字符串的長(zhǎng)度從而獲得正確的下標(biāo)
 - ii = i+[value1 length];
 - }
 - //通過下標(biāo),刪除下標(biāo)以前的字符
 - NSString *str1 = [str substringFromIndex:i];
 - NSRange range2 = [str1 rangeOfString:value2];
 - if(range2.length>0){
 - NSString *result2 = NSStringFromRange(range2);
 - j = [self indexByValue:result2];
 - }
 - NSString *str2 = [str1 substringToIndex:j];
 - return str2;
 - }
 - //過濾獲得的匹配信息的下標(biāo)
 - -(int)indexByValue:(NSString *)str{
 - //使用NSMutableString類,它可以實(shí)現(xiàn)追加
 - NSMutableString *value = [[NSMutableString alloc] initWithFormat:@""];
 - NSString *colum2 = @"";
 - int j = 0;
 - //遍歷出下標(biāo)值
 - for(int i=1;i<[str length];i++){
 - NSString *colum1 = [str substringFromIndex:i];
 - [value appendString:colum2];
 - colum2 = [colum1 substringToIndex:1];
 - if([colum2 isEqualToString:@","]){
 - j = [value intValue];
 - break;
 - }
 - }
 - [value release];
 - return j;
 - }
 - @end
 
小結(jié):在Objective-C中解析HTML代碼實(shí)現(xiàn)原理的內(nèi)容介紹完了,希望本文對(duì)你有所幫助!
責(zé)任編輯:zhaolei 
                    來源:
                    CocoaChina
 














 
 
 

 
 
 
 