Can anyone help me out with this one:
I have a HTTP page formatted this way:
<ul class="ms-spbTree" id="_ul"> <li id="XXX\$username">Person0 <ul id="XXX\$username_ul"> <li id="XXX\$username">Person1 <ul id="XXX\$username_ul"></ul> </li> <li id="XXX\$username">Person2 <ul id="XXX\$username_ul"></ul> </li> <li id="XXX\$username">Person3 <ul id="XXX\$username_ul"></ul> </li> <li id="XXX\$username">Person4 <ul id="XXX\$username_ul"> <li id="XXX\$username">Person5 <ul id="XXX\$username_ul"></ul> </li> <li id="XXX\$username">Person6 <ul id="XXX\$username_ul"></ul> </li> <li id="XXX\$username">Person7 <ul id="XXX\$username_ul"></ul> </li> </ul> </li> <li id="XXX\$username">Person8 <ul id="XXX\$username_ul"></ul> </li> </ul> </li> </ul> My function is:
func loadTutorial(webString: NSString) { var data : NSData = webString.dataUsingEncoding(NSUTF8StringEncoding)! var tutorialsParser = TFHpple(HTMLData: data) var tutorialsXPathString = "//ul/li" var tutorialNodes = tutorialsParser.searchWithXPathQuery(tutorialsXPathString) as NSArray if(tutorialNodes.count == 0) { println("empty here") } else { for element in tutorialNodes { var elementTwo: TFHppleElement = element as TFHppleElement // var tutorial = Tutorial() println("\(elementTwo.firstChild.content)") // println(elementTwo.raw) let userscanner = NSScanner(string:elementTwo.raw) var userscanned: NSString? if userscanner.scanUpToString("li id=\"", intoString:nil){ userscanner.scanString("li id=\"", intoString:nil) if userscanner.scanUpToString("\">", intoString:&userscanned) { let newResult: String = userscanned as String println("NewResultValue: \(newResult)") } } } } } But what i get is the following list:
Person0 Person1 Person2 Person3 Person4 Person5 Person6 Person7 Person8 I only want to retrieve
Person0 Person1 Person2 Person3 Person4 Person8 Or i list so i know that Person5,6 and 7 are having Person4 as manager.
I tried with
var tutorialsXPathString = "//ul[not(contains(@style, 'style=\"display: none;\"'))/li" Because all sub persons (5,6,7) have this in ther tag, but it did not work :(
Any help would be appreciated.