Objective-C编写的简易 HTML 解析器:Objective-C-HMTL-Parser

openkk 12年前

Objective-C-HMTL-Parser 是一个用 ObjectiveC 编写的简易 HTML 解析器。

示例代码:

NSError *error = nil;  NSString *html =      @"<ul>"          "<li><input type='image' name='input1' value='string1value' /></li>"          "<li><input type='image' name='input2' value='string2value' /></li>"      "</ul>"      "<span class='spantext'><b>Hello World 1</b></span>"      "<span class='spantext'><b>Hello World 2</b></span>";  HTMLParser *parser = [[HTMLParser alloc] initWithString:html error:&error];    if (error) {      NSLog(@"Error: %@", error);      return;  }    HTMLNode *bodyNode = [parser body];    NSArray *inputNodes = [bodyNode findChildTags:@"input"];    for (HTMLNode *inputNode in inputNodes) {      if ([[inputNode getAttributeNamed:@"name"] isEqualToString:@"input2"]) {          NSLog(@"%@", [inputNode getAttributeNamed:@"value"]); //Answer to first question      }  }    NSArray *spanNodes = [bodyNode findChildTags:@"span"];    for (HTMLNode *spanNode in spanNodes) {      if ([[spanNode getAttributeNamed:@"class"] isEqualToString:@"spantext"]) {          NSLog(@"%@", [spanNode rawContents]); //Answer to second question      }  }    [parser release];

项目主页:http://www.open-open.com/lib/view/home/1344848562522