[英]XPath for following-sibling and self node?
如代码中所示:
<body>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div><span>6</span></div>
<div>7</div>
<div>8</div>
</body>
查找先前的兄弟节点和自身节点?
需要得到:
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div><span>6</span></div>
我试着这样写:
//div[span]/self::node()[self::node() and self::node()/preceding-sibling::div]
...但它不起作用。
此 XPath,
//div[span or following-sibling::div[span]]
将 select 所有具有span
子元素的div
元素或在此类div
元素之前的兄弟元素:
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div><span>6</span></div>
按照要求。
替代方案,但可能效率较低:
//span[parent::div]/following::div[1]/preceding::div
Select 跟随span
元素的第一个div
的前面div
元素。
Output:
Element='<div>1</div>'
Element='<div>2</div>'
Element='<div>3</div>'
Element='<div>4</div>'
Element='<div>5</div>'
Element='<div>
<span>6</span>
</div>'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.