如何使用jsoup替换标记

时间:2012-01-25 19:27:19

标签: jsoup

我想用div标签替换所有图片代码。我可以选择所有标签,我知道我必须使用replaceWith。但我无法使用它。

如果我使用TextNode将其替换为<div> </div>并转换为&amp;lt;div&amp;gt; my div &amp;lt;/div&amp;gt;

我知道&amp;lt;&amp;gt;适用于<>

请帮帮我。

3 个答案:

答案 0 :(得分:12)

我猜你要替换为element.replaceWith(new TextNode("<div></div>"),"");

Textnode用于文本并转义内容 - 这就是您看到HTML实体的原因。您需要使用标记替换,因此请执行element.replaceWith(new Element(Tag.valueOf("div"), ""));

之类的操作

答案 1 :(得分:1)

这是实现此目的的最简单方法:

 Elements elements= doc.getElementsByTag("img");
 elements.tagName("div");

希望对您有用。

答案 2 :(得分:0)

只需使用 find 方法并传递特定标签 let tag = soup.find('tag_name') tag.name = 'new_tag';//replaced tag

对于多个标签,只需放入循环内 let tag = soup.findAll('tag_name'); if (tag) { for (let i = 0; i < tag.length; i++) { tag[i].name = 'your_new_tag'; } }