利用WebView加载我们本地的html代码

来源:互联网 发布:淘宝客推广教程 编辑:程序博客网 时间:2024/05/23 18:41

有时候我们在使用网络通信爬取网络数据的时候,想要完美的显示出来,却总是不尽如人意,我在爬取四六级成绩的时候,遇到了一个问题,抓取的数据需要一个合理的显示,最好是像网页上的结果一样,简洁明了,我在将抓取的代码直接截取数据部分,放入后,发生了错乱的效果(吐槽下99宿舍,四六级成绩居然还加密,js解密代码看了半天不知其意)。

原因

我们截取的数据区代码如下:

<table border="0" align="center" cellpadding="0" cellspacing="6" class="cetTable"><tr><th>姓名:</th><td>XXX</td></tr><tr><th>学校:</th><td>XXXXXX</td></tr><tr><th>考试类别:</th><td>英语六级</td></tr><tr><th>准考证号:</th><td>XXXXXXXXXXXXXXX</td></tr><tr><th>考试时间:</th><td>2016年06月</td></tr><tr><th valign="top">总分:</th><td valign="top" class="fontBold">        <span class="colorRed">381        </span>        <br /><span class="color666">听力:</span>130            <br /><span class="color666">阅读:</span>141            <br /><span class="color666">写作与翻译:</span>110</td></tr></table>

而Html代码的结构并不是如此,所以我们利用Html.fromHtml() 的时候并不能正确的显示

所以我们可以将这个数据的html代码附加到一个完整的html框架中,并且给修饰的class添加层叠样式表,用一个WebView加载出来。补充后的代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><style type="text/css">.cetTable{ margin:0 auto;}.cetTable th{ font-weight:bold; text-align:right;}.cetTable td{text-align:left;}.color333, a.color333{color:#333333;}.color666, a.color666{color:#666666;}.color999, a.color999{color:#999999;}.colorRed, a.colorRed,a.colorRed:link,a.colorRed:visited{ color:#D94840;}</style></head><body><table border="0" align="center" cellpadding="0" cellspacing="6" class="cetTable"><tr><th>姓名:</th><td>XXXX</td></tr><tr><th>学校:</th><td>XXXXXXXX</td></tr><tr><th>考试类别:</th><td>XXXX</td></tr><tr><th>准考证号:</th><td>XXXXXXXXX</td></tr><tr><th>考试时间:</th><td>2016年06月</td></tr><tr><th valign="top">总分:</th><td valign="top" class="fontBold">        <span class="colorRed">381        </span>        <br /><span class="color666">听力:</span>130            <br /><span class="color666">阅读:</span>141            <br /><span class="color666">写作与翻译:</span>110</td></tr></table></body></html>

java代码如下:

mResult.loadDataWithBaseURL(null, content,                                                "text/html", "utf-8", null);

最后结果如下:



0 0
原创粉丝点击