Jsoup 数据修改
Jsoup 数据修改
羽落星辰 发表于9个月前
Jsoup 数据修改
  • 发表于 9个月前
  • 阅读 11
  • 收藏 0
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

摘要: Jsoup 数据修改

1 设置属性的值

在解析一个Document之后可能想修改其中的某些属性值,然后再保存到磁盘或都输出到前台页面。

可以使用属性设置方法 Element.attr(String key, String value), 和 Elements.attr(String key, String value).假如你需要修改一个元素的 class 属性,可以使用 Element.addClass(String className) 和Element.removeClass(String className) 方法。

Elements 提供了批量操作元素属性和class的方法,比如:要为div中的每一个a元素都添加一个rel="nofollow" 可以使用如下方法:

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

说明:与Element 中的其它方法一样,attr 方法也是返回当前 Element (或在使用选择器是返回 Elements 集合)。这样能够很方便使用方法连用的书写方式。比如:

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后添加文本节点。

对于传入的文本如果含有像 <> 等这样的字符,将以文本处理,而非HTML

标签: Jsoup 数据修改
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 1
博文 57
码字总数 35204
×
羽落星辰
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: