解析html并在webview android中显示它

时间:2016-10-19 05:37:30

标签: android html parsing jsoup

我在

中有一个html文字
 <html>
 <head></head>
 <body>
  &lt;div id="carousel-generic" class="banner-erbj carousel slide" data-ride="carousel"&gt; &lt;ul class="carousel-indicators"&gt; &lt;li class="active" data-target="#carousel-generic" data-slide-to="0"&gt;0&lt;/li&gt; &lt;li data-target="#carousel-generic" data-slide-to="1"&gt;0&lt;/li&gt; &lt;/ul&gt; &lt;div class="carousel-inner"&gt; &lt;div class="item active"&gt;&lt;img src="imagesrcpath" alt="" /&gt;&lt;/div&gt; &lt;div class="item"&gt;&lt;img src="imagesrcpath" alt="" /&gt;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt; 
</html>
 </body>

我想取出其中的链接并在网页浏览中显示。 我已经尝试了jsoup方法和stackoverflow上的问题中提供的一些解决方案,但是无法找到解决方案..请帮助

4 个答案:

答案 0 :(得分:1)

经过更多的挖掘后,我找到了解决方案:

 Spanned parsed = Html.fromHtml(text);
 String finalstr = ("<html><body>").concat(parsed.toString()).concat("</body></html>"); 

mWebView.setInitialScale(30);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.getSettings().setLoadWithOverviewMode(true);
    /*mWebView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);*/
    mWebVie.getSettings().setUseWideViewPort(true);
    mWebView.loadData(finalstr, "text/html", "UTF-8");

这整套说明帮助我做了同样的事情。

答案 1 :(得分:-1)

使用正则表达式。

<img.+?/>

只会找到图片标签。

答案 2 :(得分:-1)

学习XPATH

http://www.w3schools.com/xml/xpath_intro.asp

并在

中使用您的xpath知识

http://htmlcleaner.sourceforge.net/,从html获得你想要的任何东西

答案 3 :(得分:-1)

你可以在这里利用REGEX的力量。

Pattern pattern = Pattern.compile("/src=\"(.*)\"/");
Matcher matcher = pattern.matcher(YOURHTML);
matcher.group(1); // this way you can read all of the srcs

免责声明:上述正则表达式未经过测试。