Jsoup 设置属性
精华
小牛编辑
185浏览
2023-03-14
以下示例将展示在将 HTML 字符串解析为 Document 对象后使用方法设置 dom 元素的属性、批量更新和添加/删除类方法。
Jsoup 设置属性 语法
Document document = Jsoup.parse(html);
Element link = document.select("a").first();
link.attr("href","www.xnip.cn");
link.addClass("header");
link.removeClass("header");
document : 文档对象代表 HTML DOM。
Jsoup : 解析给定 HTML 字符串的主类。
html : HTML 字符串。
link : 元素对象表示表示锚标记的 html 节点元素。
link.attr() : attr(attribute,value) 方法将元素属性设置为相应的值。
link.addClass() : addClass(class) 方法在 class 属性下添加类。
link.removeClass() : removeClass( class) 方法删除类属性下的类。
Jsoup 设置属性 说明
Element对象代表一个dom元素,并提供了多种获取dom元素属性的方法。
Jsoup 设置属性 示例
package cn.xnip;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class JsoupTester {
public static void main(String[] args) {
String html = "<html><head><title>Sample Title</title></head>"
+ "<body>"
+ "<p>Sample Content</p>"
+ "<div id='sampleDiv'><a id='googleA' href='www.xnip.cn'>小牛知识库网</a></div>"
+ "<div class='comments'><a href='www.sample1.com'>Sample1</a>"
+ "<a href='www.sample2.com'>Sample2</a>"
+ "<a href='www.sample3.com'>Sample3</a><div>"
+"</div>"
+ "<div id='imageDiv' class='header'><img name='xnip' src='xnip.png' />"
+ "<img name='yahoo' src='yahoo.jpg' />"
+"</div>"
+"</body></html>";
Document document = Jsoup.parse(html);
//Example: set attribute
Element link = document.getElementById("googleA");
System.out.println("Outer HTML Before Modification :" + link.outerHtml());
link.attr("href","www.yahoo.com");
System.out.println("Outer HTML After Modification :" + link.outerHtml());
System.out.println("---");
//Example: add class
Element div = document.getElementById("sampleDiv");
System.out.println("Outer HTML Before Modification :" + div.outerHtml());
link.addClass("header");
System.out.println("Outer HTML After Modification :" + div.outerHtml());
System.out.println("---");
//Example: remove class
Element div1 = document.getElementById("imageDiv");
System.out.println("Outer HTML Before Modification :" + div1.outerHtml());
div1.removeClass("header");
System.out.println("Outer HTML After Modification :" + div1.outerHtml());
System.out.println("---");
//Example: bulk update
Elements links = document.select("div.comments a");
System.out.println("Outer HTML Before Modification :" + links.outerHtml());
links.attr("rel", "nofollow");
System.out.println("Outer HTML Before Modification :" + links.outerHtml());
}
}