如何在xpath中选择顺序元素?

时间:2016-02-03 10:57:51

标签: xpath

假设我有这个XML:

<body>
    <div id="1"></div>
    <a id = "1"></a>
    <a id = "2"></a>
    <a id = "3"></a>
    <div id="2"></div>
    <a id = "4"></a>
    <a id = "5"></a>
    <a id = "6"></a>
</body>

给定元素//div[id='1']如何选择“它的”<a>元素(Ids从1到3)但排除{4}或更高的<a>个元素,因为它们出现在{ {1}}

1 个答案:

答案 0 :(得分:4)

这是一个可能的XPath:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    var cell = tableView.dequeueReusableCellWithIdentifier("Cell") as UITableViewCell?

    if (cell == nil) {
        cell = UITableViewCell(style: UITableViewCellStyle.Value1, reuseIdentifier: "Cell")
    }

    cell!.textLabel?.font = UIFont(name: "HelveticaNeue", size: 14)
    cell!.textLabel?.textColor = UIColor.lightGrayColor()
    cell!.textLabel?.text = self.someArray[indexPath.row]

    return cell!
}

XPath基本上在//div[@id='1']/following-sibling::a[preceding-sibling::div[1][@id='1']] 之后选择a,其中最近的兄弟div[@id='1']元素是div。或者以下更简单的XPath就足够了:

div[@id='1']