将元素内容提取为列表,并使用XPath 1.0排除子元素

时间:2018-08-30 15:28:00

标签: xpath xpath-1.0

我当前正在尝试提取li字符串als元素列表,但是我 想要排除form元素

由于a之间的元素,到目前为止,我没有返回两个项目

//*[@id="quickPromoBucketContent"]//li[descendant::form]/text()

HTML:

<div class="bucket" id="quickPromoBucketContent">
 <div class="content">
  <ul class="qpUL">
  <li>Sparen Sie 5&nbsp;% beim Kauf von <a href="">Wasserdichte Handyhülle 2 Stück</a> wenn Sie 1 oder mehrere Auto Handy Halterung aus dem Angebot von UGREEN GROUP LIMITED UK
    erwerben! Geben Sie den Code 49DFYWAQ an der Kasse ein. <a href="" target="AmazonHelp">Weitere Informationen</a>        (Teilnahmebedingungen)
    <form method="post" action="/gp/item-dispatch">
    </form>
  </li>
  <li>Sparen Sie 5&nbsp;% beim Kauf von <a href="">USB C PD Schnellladekabel</a> wenn Sie 1 oder mehrere Auto Handyhalterung aus dem Angebot von UGREEN GROUP LIMITED UK erwerben!
    Geben Sie den Code 5BWVW4YN an der Kasse ein. <a href="" target="AmazonHelp">Weitere Informationen</a>        (Teilnahmebedingungen)
    <form method="post" action="/gp/item-dispatch">
    </form>
  </li>
  <li><span id="productPromotion_clipped"><span>Aktivieren Sie diesen Coupon</span>, um beim Kauf dieses Produkts bei Amazon.de 10&nbsp;% zu sparen.</span>
  </li><input type="hidden" name="specialOffersHidden" id="specialOffersHidden">
  <li>
    <div class="amabot_widget">
    </div>
  </li>
 </ul>
</div>
</div>

1 个答案:

答案 0 :(得分:0)

根据您要查询的示例代码进行猜测

  • 下面的所有li元素和属性为id="quickPromoBucketContent"的元素
  • 具有形式后代
  • 从那里获取所有子/后代节点的文本

像这样尝试:

//*[@id="quickPromoBucketContent"]//li[descendant::form]/descendant-or-self::*/text()

XPath Demo