2012-12-28 6 views
5

私はHppleを使用してHTMLタグをiOSに解析しています。 HTMLタグが使用HTML <Tag>をiosに変換する

<div id="NewsPageSubTitle"> 
     <p><**span** hi how are you> 

IOSコードである。ここで、iは、データを解析することができる午前:

NSString *tutorialsXpathQueryString = @"//div[@id='NewsPageArticle']/p/span "; 
NSArray *tutorialsNodes = [tutorialsParser searchWithXPathQuery:tutorialsXpathQueryString]; 

が、HTML内の文字列がタグによってアクセスされるimean少数の場合には、私は、スパンを持っていません

NSString *tutorialsXpathQueryString = @"//div[@id='NewsPageArticle']/p "; 
    NSArray *tutorialsNodes = [tutorialsParser searchWithXPathQuery:tutorialsXpathQueryString]; 
:ここでは私のようにIOSコードを使用しています

<div id="NewsPageSubTitle"> 
      <p>< hi how are you> 

:直接のように "P"

ここで私は応答で空白のデータを取得しています。

問題の解決方法を教えていただけますか?これで

答えて

2

のでその子供をループすることにより、

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]; 
    NSData * data  = [NSData dataWithContentsOfFile:filePath]; 
    TFHpple * tutorialsParser  = [[TFHpple alloc] initWithHTMLData:data]; 

    NSString *tutorialsXpathQueryString = @"//div[@id='NewsPageSubTitle']"; 
    NSArray *tutorialsNodes = [tutorialsParser searchWithXPathQuery:tutorialsXpathQueryString]; 

    for (TFHppleElement * element in tutorialsNodes) { 
     NSLog(@"%@", element); 
     NSLog(@"%@", [element tagName]); 
     NSLog(@"%@", [element attributes]); 
     NSLog(@"%@", [element children]); 
     for (TFHppleElement *childElement in [element children]) { 
       NSLog(@"%@", childElement); 
     } 
    } 
1

この場合、linkがお手伝いします。時々パラタグは、スパンを持っており、時にはそれが、私が対処しようとしていることをお勧めしません

0
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"image" ofType:@"html" inDirectory:@"New Folder 2"]; 
NSData * data  = [NSData dataWithContentsOfFile:filePath]; 

NSFileHandle *readHandle = [NSFileHandle fileHandleForReadingAtPath:filePath]; 

NSString *htmlString = [[NSString alloc] initWithData:[readHandle readDataToEndOfFile] encoding:NSUTF8StringEncoding]; 


TFHpple * Parser  = [[TFHpple alloc] initWithHTMLData:data]; 

NSString *query = @"//p"; 

NSArray *nodes = [Parser searchWithXPathQuery:query]; 
for (TFHppleElement *item in nodes) 
    { 
     NSLog(@"Title : %@", item.content); 

      NSLog(@"URL : %@", [item.attributes valueForKey:@"href"]); 
     }