簡體   English   中英

如何使用jsoup將特定的div標簽替換為span標簽

[英]how to replace a particular div tag with a span tag using jsoup

<div class="c45 c45v0">
    <p><span>J</span>oseph DeSimone made a bold move back</p>
</div>

我想將<div class="c45 c45v0">替換為<span class="c6 c77">

<span class="c6 c77">
    <p><span>J</span>oseph DeSimone made a bold move back</p>
</span>

我試圖使用下面的代碼替換,但我無法替換它。 誰能幫我解決這個問題。

if (elements.select("div.c45.c45v0").size()>0) {
    if (!elements.select("div.c45.c45v0").isEmpty()) {
        elements.tagName("span.c6.c77");
    }   
}

基於這樣的事實,即elements要從中選擇div.c45.c45v0對象因此看起來它不是搜索的元素,而是僅包含一個元素,因此沒有太大意義。 第二件事是您不想通過tagName設置類屬性。 您需要通過tagName設置標簽,但需要通過.attr("class", "c6 c77")或通過一系列addClass (對於新類)和removeClass (對於先前類)來設置class屬性。

演示:

String html =
        "<div class=\"c45 c45v0\">\n" +
        "    <p><span>J</span>oseph DeSimone made a bold move back</p>\n" +
        "</div>";

Document doc = Jsoup.parse(html);

//here 'elements' contain only div.c45.c45v0 elements *from* entire document (doc)
Elements elements = doc.select("div.c45.c45v0");
System.out.println(elements);

//now we can manipulate those selected elements
elements.tagName("span");
elements.attr("class", "c6 c77");
System.out.println("---------------");
System.out.println(elements);

輸出:

<div class="c45 c45v0"> 
 <p><span>J</span>oseph DeSimone made a bold move back</p> 
</div>
---------------
<span class="c6 c77"> <p><span>J</span>oseph DeSimone made a bold move back</p> </span>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM