【问题标题】:Xpath: Select All elements except element with specific attributeXpath:选择除具有特定属性的元素之外的所有元素
【发布时间】:2022-01-03 13:39:21
【问题描述】:

我需要选择<p>节点中的文本,并排除span中属性为class="DoNotTranslate"的所有文本

例子:

<table>
  <p>Table0
  </p>
  <ol>
    <li>
      <span class="DoNotTranslate">add_punctuation</span>
    </li>
    <li>
      <span class="DoNotTranslate">alternate_graphic</span>
    </li>
  </ol>
  <p>Table1
    <span class="DoNotTranslate"><span class="ScreenElement">call_number</span></span>
  </p>
</table>

预期结果:

<p>Table0</p>
<p>Table1</p>

我尝试了下面的 Xpath,但它不起作用。

//p/node()[not (@class="DoNotTranslate")]

任何其他选择将不胜感激。

【问题讨论】:

    标签: xml xpath


    【解决方案1】:

    你可以通过使用任何一个来足够接近

    //p/text()
    

    //p/text()/normalize-space()
    

    这些应该让你得到&lt;p&gt;elements 的文本,而不是它们的&lt;span&gt; 子元素:

    Table0
    Table1
    

    【讨论】:

      猜你喜欢
      • 2016-03-19
      • 1970-01-01
      • 2012-11-30
      • 1970-01-01
      • 2012-06-07
      • 2011-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多