Objective-C-HMTL-Parser

An objective c wrapper around libxml for parsing HTML

  • Owner: zootreeves/Objective-C-HMTL-Parser
  • Platform:
  • License::
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

  1. Open Your project in XCode and drag and drop all .h & .m Files into an appropriate folder
  2. In the project settings add "/usr/include/libxml2" to the "header search paths" field
  3. Ctrl Click the Frameworks group choose Add -> Existing Frameworks and from the list choose libxml2.dylib

Example Usage

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];

Main metrics

Overview
Name With Ownerzootreeves/Objective-C-HMTL-Parser
Primary LanguageObjective-C
Program languageObjective-C (Language Count: 1)
Platform
License:
所有者活动
Created At2010-05-24 19:55:02
Pushed At2017-09-20 15:36:52
Last Commit At2013-03-24 05:27:42
Release Count0
用户参与
Stargazers Count1.1k
Watchers Count53
Fork Count230
Commits Count19
Has Issues Enabled
Issues Count22
Issue Open Count17
Pull Requests Count4
Pull Requests Open Count8
Pull Requests Close Count5
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private