Jsoup 數據修改

1 設置屬性的值

在解析一個Document以後可能想修改其中的某些屬性值,而後再保存到磁盤或都輸出到前臺頁面。html

能夠使用屬性設置方法 Element.attr(String key, String value), 和 Elements.attr(String key, String value).假如你須要修改一個元素的 class 屬性,能夠使用 Element.addClass(String className) 和Element.removeClass(String className) 方法。java

Elements 提供了批量操做元素屬性和class的方法,好比:要爲div中的每個a元素都添加一個rel="nofollow" 能夠使用以下方法:node

doc.select("div.comments a").attr("rel", "nofollow");

說明:與Element 中的其它方法同樣,attr 方法也是返回當前 Element (或在使用選擇器是返回 Elements 集合)。這樣可以很方便使用方法連用的書寫方式。好比:api

doc.select("div.masthead").attr("title", "jsoup").addClass("round-box");

2 設置一個元素的HTML內容

Element div = doc.select("div").first(); // <div></div>
    div.html("<p>lorem ipsum</p>"); // <div><p>lorem ipsum</p></div>
    div.prepend("<p>First</p>");//在div前添加html內容
    div.append("<p>Last</p>");//在div以後添加html內容
    // 添完後的結果: <div><p>First</p><p>lorem ipsum</p><p>Last</p></div>
    Element span = doc.select("span").first(); // <span>One</span>
    span.wrap("<li><a href='http://example.com/'></a></li>");
    // 添完後的結果: <li><a href="http://example.com"><span>One</span></a></li>
操做 含義
Element.html(String html) 先清除元素中的HTML內容,而後用傳入的HTML代替。
Element.prepend(String first) 元素內部HTML的前面添加HTML內容
Element.append(String last) 元素內部HTML的後面添加HTML內容
Element.wrap(String around)  對元素包裹一個外部HTML內容。

3 設置元素的文本內容

Element div = doc.select("div").first(); // <div></div>
    div.text("five > four"); // <div>five &gt; four</div>
    div.prepend("First ");
    div.append(" Last");
    // now: <div>First five &gt; four Last</div>
操做 含義
Element.text(String text)  清除一個元素中的內部HTML內容,而後提供的文本進行代替
Element.prepend(String first)  在元素的內部html前添加文本節點。
 Element.append(String last) 在元素的內部html後添加文本節點。

對於傳入的文本若是含有像 <> 等這樣的字符,將以文本處理,而非HTMLapp

相關文章
相關標籤/搜索