繁体   English   中英

XPath:选择所有A节点和不在A节点内的所有B节点

[英]XPath: select all A nodes and all B nodes that are not inside an A node

一个XPath表达式中是否可能有以下内容(请参见下面的示例):

选择全部(味精类的跨度标签)和全部((具有非空alt属性的img标签)(不位于味精类的跨度标签内)

简化样本:

<span class="msg">Message text A</span>
<img alt="" />
<span class="msg">Message text B <img alt="text A" /></span>
<span class="err">Error text C <img alt="text B" /></span>
<img alt="text C" />
<span class="err">Error text D</span>

结果节点集应包含:

<span class="msg">Message text A</span>
<span class="msg">Message text B <img alt="text A" /></span>
<img alt="text B" />    
<img alt="text C" />

未经测试,但类似?

//span[@class='msg'] | //img[@alt!='' and not(ancestor::span[@class='msg'])]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM