使用hpple进行Html解析

时间:2013-02-22 14:30:53

标签: html xcode parsing hpple

我需要你的帮助。 这是我第一次尝试解析HTML而我遇到了一些问题。我跟着Rays Tutorial关于HTML解析。他使用 hpple 。我要解析的文件比他复杂得多。我想通过下面的代码删除一些变量:

<div id="status">
<div id="loading" style="display:none">Error:<br />Connection to demo board was lost.</div>
<div id="display">
    <span style="float:right;font-size:9px;font-weight:normal;padding-top:8px;text-indent:0px">(click to toggle)</span>
    <p>LEDs:<br /><span class="leds">
    <!-- <a id="led7" onclick="newAJAXCommand('leds.cgi?led=7');">&bull;</a>
    <a id="led6" onclick="newAJAXCommand('leds.cgi?led=6');">&bull;</a>
    <a id="led5" onclick="newAJAXCommand('leds.cgi?led=5');">&bull;</a>
    <a id="led4" onclick="newAJAXCommand('leds.cgi?led=4');">&bull;</a>
    <a id="led3" onclick="newAJAXCommand('leds.cgi?led=3');">&bull;</a>
    <a id="led2" onclick="newAJAXCommand('leds.cgi?led=2');">&bull;</a> -->
    <a id="led1" onclick="newAJAXCommand('leds.cgi?led=1');">&bull;</a>
    <!-- <a id="led0">&bull;</a> -->
    </span></p>
    <p>Buttons:<br />
    <!-- <span id="btn3">?</span> &nbsp; 
    <span id="btn2">?</span> &nbsp; 
    <span id="btn1">?</span> &nbsp;  -->
    <span id="btn0">?</span></p>
    <p>Potentiometer: <span id="pot0" style="font-weight:normal">?</span></p> 
    <p>Temperature: <span id="temp0" style="font-weight:normal">?</span></p> 
</div>

到目前为止,我可以获得LED,按钮,电位器和温度。 我无法获得他们的价值。(特定4个字段的值)。

我正在使用以下代码:

- (void)loadTutorials {
// 1
NSURL *tutorialsUrl = [NSURL URLWithString:@"http://192.168.0.112/"]; 
NSData *tutorialsHtmlData = [NSData dataWithContentsOfURL:tutorialsUrl];

// 2
TFHpple *tutorialsParser = [TFHpple hppleWithHTMLData:tutorialsHtmlData];

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

// 4
NSMutableArray *newTutorials = [[NSMutableArray alloc] initWithCapacity:0];
for (TFHppleElement *element in tutorialsNodes) {
    // 5
    Tutorial *tutorial = [[Tutorial alloc] init];
    [newTutorials addObject:tutorial];
    NSLog(@"Object=%@",element);
    // 6
    tutorial.title = [[element firstChild] content]; 

    // 7
    tutorial.url = [element objectForKey:@"???"]; //??? 
}

// 8
_objects = newTutorials;
[self.tableView reloadData];

}

我怀疑问题是objectForKey:但我不确定。我测试了我能想象到的各种键。任何帮助都是最受欢迎的。

0 个答案:

没有答案