Jsoup用來解析和遍曆一個HTML文檔,並修改氣相應的屬性或值;詳細瞭解見:
http://www.open-open.com/jsoup/
在做百度編輯器時,由於生產的HTML檔案中img路徑是相對路徑,這樣點擊產生的HTML檔案顯示不了圖片的,
<img alt="" src="/qk/uploads/newImage/image/20130711/20130711182603_176.png" />
我的解決的方法就是在顯示之前把img標籤的src地址換成絕對位址,找了一下選擇了大家很推崇的Jsoup
String newsBody="<img alt="" src="/qk/uploads/newImage/image/20130711/20130711182603_176.png" /> ";
public static String HTTPHOST="http://192.168.0.78";
Document doc = Jsoup.parse(newsBody);
Elements pngs = doc.select("img[src]");
for (Element element : pngs) {
String imgUrl = element.attr("src");
if (imgUrl.trim().startsWith("/")) {
imgUrl =HTTPHOST + imgUrl;
element.attr("src", imgUrl);
}
}
newsBody = doc.toString();
方法
可以使用屬性設定方法 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");
註:kindEditor編輯器添加圖片可以實現絕對路徑插入