无涯教程-jsoup - 设置属性

62 阅读2分钟

下面的示例将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">"&lt;html&gt;&lt;head&gt;&lt;title&gt;Sample Title&lt;/title&gt;&lt;/head&gt;"</span><span class="pln">
     </span><span class="pun">+</span><span class="pln"> </span><span class="str">"&lt;body&gt;"</span><span class="pln">
     </span><span class="pun">+</span><span class="pln"> </span><span class="str">"&lt;p&gt;Sample Content&lt;/p&gt;"</span><span class="pln">
     </span><span class="pun">+</span><span class="pln"> </span><span class="str">"&lt;div id=sampleDiv&gt;&lt;a id=googleA href=www.google.com&gt;Google&lt;/a&gt;&lt;/div&gt;"</span><span class="pln">
     </span><span class="pun">+</span><span class="pln"> </span><span class="str">"&lt;div class=comments&gt;&lt;a href=www.sample1.com&gt;Sample1&lt;/a&gt;"</span><span class="pln">
     </span><span class="pun">+</span><span class="pln"> </span><span class="str">"&lt;a href=www.sample2.com&gt;Sample2&lt;/a&gt;"</span><span class="pln">
     </span><span class="pun">+</span><span class="pln"> </span><span class="str">"&lt;a href=www.sample3.com&gt;Sample3&lt;/a&gt;&lt;div&gt;"</span><span class="pln">
     </span><span class="pun">+</span><span class="str">"&lt;/div&gt;"</span><span class="pln">
     </span><span class="pun">+</span><span class="pln"> </span><span class="str">"&lt;div id=imageDiv class=header&gt;&lt;img name=google src=google.png /&gt;"</span><span class="pln">
     </span><span class="pun">+</span><span class="pln"> </span><span class="str">"&lt;img name=yahoo src=yahoo.jpg /&gt;"</span><span class="pln">
     </span><span class="pun">+</span><span class="str">"&lt;/div&gt;"</span><span class="pln">
     </span><span class="pun">+</span><span class="str">"&lt;/body&gt;&lt;/html&gt;"</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>

参考链接

www.learnfk.com/jsoup/jsoup…