繁体   English   中英

使用 XPath 匹配除一个之外的所有元素和文本

[英]Matching all the elements and text excluding one by using XPath

<div class="main">
  <div class="column-items">
    <div>
      abcd
    </div>
    <h2>Thomas</h2>
    <p>Ron</p>
  </div>
  <p>Dave</p>
  Sample text here......
  <b>Andrew</b>
  El murciélago de Bacardí tiene su!!
  <p>abcdef</p>
</div>

在上述结构中,我希望 XPath 获取所有内容,包括<div class="main">中的文本,除了我不想要第一个 div 元素的内容,即<div class="column-items"> .

如果您想要 'main' div 中的所有文本节点,不包括 'column-items' div 中的文本节点,请尝试:

//div[@class='main']//text()[not(ancestor::div[@class="column-items"])]

问题标题要求除 one 之外的所有元素和文本,您在 go 上说应该排除第一个元素。 如果您实际上只想要满足该条件的文本节点,请参阅@JaSON 的答案

如果您确实也想要所有元素,请使用此 XPath:

//div[@class='main']/node()[not(self::div[1])]

基于 position,或此 XPath,

//div[@class='main']/node()[not(self::div[@class="column-items"])]

基于属性值。

暂无
暂无

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

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