jsoup 是一款Java 的HTML解析器,可直接解析某個(gè)URL地址、HTML文本內(nèi)容。它提供了一套非常省力的API,可通過DOM,CSS以及類似于jQuery的操作方法來取出和操作數(shù)據(jù)。下面本文將就簡(jiǎn)要介紹下如何使用jsoup動(dòng)態(tài)構(gòu)造的HTML。
1、將jar包jsoup-1.10.2.jar導(dǎo)入到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來構(gòu)造郵件中的HTML頁面
? ? ?我們以圖三所示的頁面來講解如何使用jsoup構(gòu)造HTNL頁面。圖三頁面中包括最常用的兩個(gè)內(nèi)容:文字和圖片。
? ? 首先,我們使用變量html作為HTML字符串,為其設(shè)置THML結(jié)構(gòu)和css樣式。具體代碼如圖四所示,我們?cè)谶@定義了兩個(gè)div(id分別為reportConclusion和newFunction)來承載圖四中”測(cè)試報(bào)告總論”和”新增功能”區(qū)域。
? ? 定義好html結(jié)構(gòu)后,使用org.jsoup.nodes.Document doc = Jsoup.parse(html);語句解析HTML字符串。接下來分別設(shè)置id=reportConclusion和id=newFunction的HTML內(nèi)容。
? ?1)設(shè)置id=reportConclusion的div的HTML內(nèi)容,代碼如圖五所示,首先使用org.jsoup.nodes.Element reportConclusionDiv = doc.select("#reportConclusion").first();獲取元素,再使用append函數(shù)添加內(nèi)容。
? ? 2)設(shè)置id=newFunction的div的HTML內(nèi)容,代碼如圖六所示,需要注意的是郵件里的圖片需要以內(nèi)嵌圖片的形式發(fā)送,具體的方法可參考文章《使用EWS JAVA API發(fā)送內(nèi)嵌圖片的郵件》。