JSoup-删除其中带有特定单词的标签(以及标签中的所有内容)

时间:2019-05-09 22:32:50

标签: html jsoup

我有一个网页,其中包含

格式的html标签
<section class="feature-authorized-retailer pdp-outofstock-js hide">
    <div class="retailer-notification">
        <span>This product is out of stock</span>
    </div>

            <section id="marketing-product-actions" class="product-content-form-marketing-product-actions product-actions">
                <div class="product-content-form-product-actions-primary product-actions-primary">
                    <a class="product-content-form-out-of-stock button secondary">Out of Stock</a>
                </div>
            </section>

</section>

正如您在外部“ section”标签中看到的那样,它在类名中带有单词“ hide”。有没有一种方法可以使用JSoup在类名中用单词“ hide”来标识这样的标签,以便我可以删除它们以及这些标签中的所有html?

1 个答案:

答案 0 :(得分:1)

  

要使用Jsoup选择元素,您可以使用大多数CSS Selectors

  1. 选择所有类别为hide的元素:
document.select(".hide")

元素可能包含许多类,但是如果其中一个等于hide,则它将匹配。

它将匹配class="abc hide abc",但不匹配class="abc abchideabc abc"

  1. 选择其中属性class的值包含字符串hide的所有元素;
document.select("[class~=hide]")

这将匹配class="abc hide abc",但也会匹配class="abc abchideabc abc"

要删除所选元素,请使用document.select(...).remove()