gpt4 book ai didi

java - 如何使用 jsoup 将特定的 div 标签替换为 span 标签

转载 作者:行者123 更新时间:2023-12-02 11:15:13 25 4
gpt4 key购买 nike

<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 设置标签但是class属性可以通过 .attr("class", "c6 c77")或通过系列 addClass (针对新类(class))和 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>

关于java - 如何使用 jsoup 将特定的 div 标签替换为 span 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50325010/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com