jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。下面本文将就简要介绍下如何使用jsoup动态构造的HTML。
1、将jar包jsoup-1.10.2.jar导入到libs目录下并在代码中引入
1)下载jsoup-1.10.2.jar包,下载地址为https://jsoup.org/download
2)将下载的jar包拷贝到libs目录下,右键选择Build Path —> Add to Build Path
3)在java代码中引入jsoup,如图二所示
2、使用jsoup来构造邮件中的HTML页面
我们以图三所示的页面来讲解如何使用jsoup构造HTNL页面。图三页面中包括最常用的两个内容:文字和图片。
首先,我们使用变量html作为HTML字符串,为其设置THML结构和css样式。具体代码如图四所示,我们在这定义了两个div(id分别为reportConclusion和newFunction)来承载图四中”测试报告总论”和”新增功能”区域。
定义好html结构后,使用org.jsoup.nodes.Document doc = Jsoup.parse(html);语句解析HTML字符串。接下来分别设置id=reportConclusion和id=newFunction的HTML内容。
1)设置id=reportConclusion的div的HTML内容,代码如图五所示,首先使用org.jsoup.nodes.Element reportConclusionDiv = doc.select("#reportConclusion").first();获取元素,再使用append函数添加内容。
2)设置id=newFunction的div的HTML内容,代码如图六所示,需要注意的是邮件里的图片需要以内嵌图片的形式发送,具体的方法可参考文章《使用EWS JAVA API发送内嵌图片的邮件》。