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.