0

我有 HTML 页面的响应

     `<cite>www.<b>apple</b>.com/in/</cite>`

我必须使用库“ https://github.com/topfunky/hpple/blob/master/ ”来解析它

            TFHppleElement * element6 = [childrenArr5 objectAtIndex:0];
            NSArray * arr = [element6 childrenWithTagName:@"cite"];
            NSLog(@"arr:%@ cnt:%d",arr,[arr count]);
            TFHppleElement * element7 = [arr objectAtIndex:0];
            NSString * cite = [element7 text];
            NSLog(@"cite:%@",cite);

但我没有得到完整的文本,它只是抓住了“www”。来自 ,请提出一些建议以获取标签内的整个文本。

4

1 回答 1

1

text 只给你一个元素的文本。它忽略了可能存在的任何孩子。

  • 引用
    • 文本节点:www。
    • b
      • 文本节点:苹果
    • 文本节点:.com/in/

获取城市标签下的所有文本,忽略中间的任何标签我认为应该这样做

@interface THppleElement (textInlcudingChildren)
- (NSString*)textInlcudingChildren;
@end

@implementation THppleElement (textInlcudingChildren)
- (NSString*)textInlcudingChildren {
    NSMutableString *txt = self.text;
    for(id child in self.children)
        [txt appendString:[child textInlcudingChildren]];
    return txt;
}
@end
...

NSString * text = [element7 textInlcudingChildren];
NSLog(@"%@", text);
于 2013-04-06T12:11:19.270 回答