Jsoup修改style中的属性值

我不是女神ヾ 2022-07-13 13:51 576阅读 0赞

Jsoup真是强大好用到无以复加,对开发jsoup的大神表示崇高的敬仰。

工作中需要对word文档进行解析,获取文档的所有标题以及每一个标题下包含的内容。

文档是标准的word文档,所以讲文档转换成html文件之后,html文件也是标准的格式,每一个章节标题都是标签。那么接下来就是使用jsoup对文档进行解析、分割、处理。

(1) jsoup获取dom文档

代码如下:

  1. //第一种,本地文件
  2. File htmlFile = new File(input);
  3. Document doc = Jsoup.parse(input, "UTF-8");
  4. //第二种,远程
  5. String url = "http://www.baidu.com";
  6. Document doc = Jsoup.connect(htmlFileUrl).get();

通过doc可以轻松的获取body、header等各种你想获取的东西。

(2)jsoup常用方法

我需要把文档中所有的margin-bottom值都改成0pt

  1. Elements esd = doc.select("[style]");
  2. Iterator<Element> iterator = esd.iterator();
  3. while (iterator.hasNext())
  4. {
  5. Element etemp = iterator.next();
  6. String styleStr = etemp.attr("style");
  7. etemp.removeAttr("style");
  8. etemp.attr("style", cssStr(styleStr));
  9. }
  10. public String cssStr(String str)
  11. {
  12. if (!str.contains("margin-bottom")) { return str; }
  13. String s1 = str.substring(0, str.indexOf("margin-bottom"));
  14. String s2 = str.substring(str.indexOf("margin-bottom"), str.length());
  15. String s3 = s2.substring(s2.indexOf(";"));
  16. return s1 + "margin-bottom:0pt" + s3;
  17. }
  18. 主要是选择器select和属性操作函数attrremoverAttr的使用。

select选择器非常的强大,很类似jquery的选择器,只要jquery能做的,jsoup也能轻松搞定。

attr可以是获取,也可以是赋值。

发表评论

表情:
评论列表 (有 0 条评论,576人围观)

还没有评论,来说两句吧...

相关阅读