假设我有这个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}}
答案 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']