使用jsoup将自定义css添加到html代码

Pix*_*lPW 10 css java jquery android jsoup

我正在开发一款Android应用,它可以加载HTML页面并在Webview中显示.问题是我想添加我的自定义css(加载的HTML没有任何CSS或链接到CSS).如何使用jsoup将自定义CSS添加到HTML代码?我不能修改HTML.webview如何在以后打开它?谢谢

Bal*_*usC 21

几种方式.您可以使用Element#append()将一些HTML附加到元素.

Document document = Jsoup.connect(url).get();
Element head = document.head();
head.append("<link rel=\"stylesheet\" href=\"http://example.com/your.css\">");
Run Code Online (Sandbox Code Playgroud)

或者,用于Element#attr(name, value)向现有元素添加属性.这是一个添加style="color:pink;"到所有链接的示例.

Document document = Jsoup.connect(url).get();
Elements links = document.select("a");
links.attr("style", "color:pink;");
Run Code Online (Sandbox Code Playgroud)

无论哪种方式,修改后获取最终的HTML字符串Document#html().

String html = document.html();
Run Code Online (Sandbox Code Playgroud)

通过PrintWriter#write()(使用正确的字符集)将其写入文件.

String charset = Jsoup.connect(url).response().charset();
// ...
Writer writer = new PrintWriter("/file.html", charset);
writer.write(html);
writer.close();
Run Code Online (Sandbox Code Playgroud)

最后在webview中打开它.因为我无法从头顶讲述它,所以这里只是一个我认为有用的示例的链接:WebViewDemo.java.顺便说一句,我在这个博客上找到了这个链接(我在Google 上发现了这个链接).