下面的示例将HTML解析为Document对象后,使用addClass或removeClass方法来增加或删除class类方法。
Document document=Jsoup.parse(html); Element link=document.select("a").first(); link.attr("href","www.yahoo.com"); link.addClass("header"); link.removeClass("header");
元素对象代表dom元素,并提供了各种获取dom元素属性的方法。
addClass/removeClass示例
使用您选择的任何编辑器在C:/> jsoup中创建以下Java程序。
JsoupTester.java
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) {
</span><span class="typ">String</span><span class="pln"> html </span><span class="pun">=</span><span class="pln"> </span><span class="str">"<html><head><title>Sample Title</title></head>"</span><span class="pln">
</span><span class="pun">+</span><span class="pln"> </span><span class="str">"<body>"</span><span class="pln">
</span><span class="pun">+</span><span class="pln"> </span><span class="str">"<p>Sample Content</p>"</span><span class="pln">
</span><span class="pun">+</span><span class="pln"> </span><span class="str">"<div id=sampleDiv><a id=googleA href=www.google.com>Google</a></div>"</span><span class="pln">
</span><span class="pun">+</span><span class="pln"> </span><span class="str">"<div class=comments><a href=www.sample1.com>Sample1</a>"</span><span class="pln">
</span><span class="pun">+</span><span class="pln"> </span><span class="str">"<a href=www.sample2.com>Sample2</a>"</span><span class="pln">
</span><span class="pun">+</span><span class="pln"> </span><span class="str">"<a href=www.sample3.com>Sample3</a><div>"</span><span class="pln">
</span><span class="pun">+</span><span class="str">"</div>"</span><span class="pln">
</span><span class="pun">+</span><span class="pln"> </span><span class="str">"<div id=imageDiv class=header><img name=google src=google.png />"</span><span class="pln">
</span><span class="pun">+</span><span class="pln"> </span><span class="str">"<img name=yahoo src=yahoo.jpg />"</span><span class="pln">
</span><span class="pun">+</span><span class="str">"</div>"</span><span class="pln">
</span><span class="pun">+</span><span class="str">"</body></html>"</span><span class="pun">;</span><span class="pln">
</span><span class="typ">Document</span><span class="pln"> document </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Jsoup</span><span class="pun">.</span><span class="pln">parse</span><span class="pun">(</span><span class="pln">html</span><span class="pun">);</span><span class="pln">
</span><span class="com">//示例:设置属性</span><span class="pln">
</span><span class="typ">Element</span><span class="pln"> link </span><span class="pun">=</span><span class="pln"> document</span><span class="pun">.</span><span class="pln">getElementById</span><span class="pun">(</span><span class="str">"googleA"</span><span class="pun">);</span><span class="pln">
</span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Outer HTML Before Modification :"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> link</span><span class="pun">.</span><span class="pln">outerHtml</span><span class="pun">());</span><span class="pln">
link</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"href"</span><span class="pun">,</span><span class="str">"www.yahoo.com"</span><span class="pun">);</span><span class="pln">
</span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Outer HTML After Modification :"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> link</span><span class="pun">.</span><span class="pln">outerHtml</span><span class="pun">());</span><span class="pln">
</span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"---"</span><span class="pun">);</span><span class="pln">
</span><span class="com">//示例:addClass</span><span class="pln">
</span><span class="typ">Element</span><span class="pln"> div </span><span class="pun">=</span><span class="pln"> document</span><span class="pun">.</span><span class="pln">getElementById</span><span class="pun">(</span><span class="str">"sampleDiv"</span><span class="pun">);</span><span class="pln">
</span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Outer HTML Before Modification :"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> div</span><span class="pun">.</span><span class="pln">outerHtml</span><span class="pun">());</span><span class="pln">
link</span><span class="pun">.</span><span class="pln">addClass</span><span class="pun">(</span><span class="str">"header"</span><span class="pun">);</span><span class="pln">
</span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Outer HTML After Modification :"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> div</span><span class="pun">.</span><span class="pln">outerHtml</span><span class="pun">());</span><span class="pln">
</span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"---"</span><span class="pun">);</span><span class="pln">
</span><span class="com">//示例:removeClass</span><span class="pln">
</span><span class="typ">Element</span><span class="pln"> div1 </span><span class="pun">=</span><span class="pln"> document</span><span class="pun">.</span><span class="pln">getElementById</span><span class="pun">(</span><span class="str">"imageDiv"</span><span class="pun">);</span><span class="pln">
</span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Outer HTML Before Modification :"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> div1</span><span class="pun">.</span><span class="pln">outerHtml</span><span class="pun">());</span><span class="pln">
div1</span><span class="pun">.</span><span class="pln">removeClass</span><span class="pun">(</span><span class="str">"header"</span><span class="pun">);</span><span class="pln">
</span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Outer HTML After Modification :"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> div1</span><span class="pun">.</span><span class="pln">outerHtml</span><span class="pun">());</span><span class="pln">
</span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"---"</span><span class="pun">);</span><span class="pln">
</span><span class="com">//示例:批量更新</span><span class="pln">
</span><span class="typ">Elements</span><span class="pln"> links </span><span class="pun">=</span><span class="pln"> document</span><span class="pun">.</span><span class="kwd">select</span><span class="pun">(</span><span class="str">"div.comments a"</span><span class="pun">);</span><span class="pln">
</span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Outer HTML Before Modification :"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> links</span><span class="pun">.</span><span class="pln">outerHtml</span><span class="pun">());</span><span class="pln">
links</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"rel"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"nofollow"</span><span class="pun">);</span><span class="pln">
</span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Outer HTML Before Modification :"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> links</span><span class="pun">.</span><span class="pln">outerHtml</span><span class="pun">());</span><span class="pln">
}
}
使用 javac 编译器编译类,如下所示:
C:\jsoup>javac JsoupTester.java
现在运行JsoupTester以查看输出。
C:\jsoup>java JsoupTester
查看输出。
Outer HTML Before Modification :<a id="googleA" href="www.google.com">Google</a> Outer HTML After Modification :<a id="googleA" href="www.yahoo.com">Google</a> --- Outer HTML Before Modification :<div id="sampleDiv"> <a id="googleA" href="www.yahoo.com">Google</a> </div> Outer HTML After Modification :<div id="sampleDiv"> <a id="googleA" href="www.yahoo.com" class="header">Google</a> </div> --- Outer HTML Before Modification :<div id="imageDiv" class="header"> <img name="google" src="google.png"> <img name="yahoo" src="yahoo.jpg"> </div> Outer HTML After Modification :<div id="imageDiv" class=""> <img name="google" src="google.png"> <img name="yahoo" src="yahoo.jpg"> </div> --- Outer HTML Before Modification :<a href="www.sample1.com">Sample1</a> <a href="www.sample2.com">Sample2</a> <a href="www.sample3.com">Sample3</a> Outer HTML Before Modification :<a href="www.sample1.com" rel="nofollow">Sample1</a> <a href="www.sample2.com" rel="nofollow">Sample2</a> <a href="www.sample3.com" rel="nofollow">Sample3</a>