XmlPullParser或JSoup用于在Android中解析HTML

蒂拉菲西

我有一个包含html代码的字符串,我只想从中提取某些元素。

我一直在寻找谷歌和堆栈溢出一段时间,似乎大多数建议的解决方案是使用Android XmlPullParser或JSoup。

这些方法中的哪一种最适合在android中解析hmtl,为什么?

尼西斯·库马尔

JSOUP将是显而易见的选择,因为您可以轻松地识别HTML元素,并从中创建对象。最后,您可以执行所需的操作,将文档转换为字符串,最后在视图中进行设置。

下面是一个代码片段,我需要在其中删除网页的页眉和页脚,然后在视图中显示它。

if(document!=null) {

               if (document.getElementById("header").getElementById("site-head") != null) {
                   document.getElementById("header").getElementById("site-head").remove();
                }
                if (document.getElementById("footer") != null) {
                    document.getElementById("footer").remove();
                } if (document.getElementsByClass("fs-footer-newsletter") != null) {
                    document.getElementsByClass("fs-footer-newsletter").remove();
                }
                String modifiedDocument = document.toString();
                modifiedDocument = modifiedDocument.replace("<html lang=\"en-US\" prefix=\"og: http://ogp.me/ns#\" class=\"no-js\">","<html lang=\"en-US\" prefix=\"og: http://ogp.me/ns#\" class=\"no-js\" style=\"margin-top:0 !important;\">");
                modifiedDocument = modifiedDocument.replace("<header id=\"header\">","<header id=\"header\" style=\"margin-top:-16px;\">");
                modifiedDocument = modifiedDocument.replace("<ul class=\"main-filters\">","<ul class=\"main-filters\" style=\"top:0;\">");
                Document d = Jsoup.parse(modifiedDocument);
                WebSettings ws = getItemWebview.getSettings();
                ws.setJavaScriptEnabled(true);
                Log.i("modifiedDocument",document.toString());
                if(isURLForShop) {
                    loadingImg.setVisibility(View.GONE);
                    getItemWebview.loadDataWithBaseURL(storeUrl, d.toString(), "text/html", "utf-8", "");
                }else{
                    loadingImg.setVisibility(View.GONE);
                    getItemWebview.loadDataWithBaseURL(restyleDenimURL, d.toString(), "text/html", "utf-8", "");
                }
            }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android HTML Jsoup解析速度

来自分类Dev

使用JSOUP在Android中解析HTML时出错

来自分类Dev

用于Android的JSOUP解析强制关闭

来自分类Dev

用于Android的JSOUP解析强制关闭

来自分类Dev

使用 Jsoup for Android 解析多个页面 HTML

来自分类Dev

android XmlPullParser将xml解析为Listview

来自分类Dev

使用Android XMLPullParser导航/解析XML

来自分类Dev

使用Android XMLPullParser导航/解析XML

来自分类Dev

Jsoup html代码解析

来自分类Dev

Jsoup解析嵌套的html

来自分类Dev

Jsoup html解析

来自分类Dev

Jsoup Android解析

来自分类Dev

Jsoup Android解析

来自分类Dev

Android 使用 JSoup 解析 HTML 转换为 String

来自分类Dev

如何在Jsoup解析中避免围绕HTML Head标签

来自分类Dev

正则表达式解析JSoup中的html源

来自分类Dev

如何在Android中使用XmlPullParser解析为<media:thumbnail>?

来自分类Dev

Java Android-XmlPullParser-如何重新从头开始解析?

来自分类Dev

在Android中使用XMLPullParser解析本地XML文件

来自分类Dev

Jsoup无法从HTML解析IFrame

来自分类Dev

JSOUP网站HTML解析:Java

来自分类Dev

使用Jsoup解析HTML内容

来自分类Dev

用Jsoup解析表html

来自分类Dev

JSOUP HTML解析器

来自分类Dev

使用Jsoup解析HTML内容

来自分类Dev

使用jsoup解析HTML部分

来自分类Dev

Android Jsoup从单行XML解析

来自分类Dev

使用XmlPullParser解析XML

来自分类Dev

XmlPullParser解析标签内