下载Jsoup包后导入

/**
* Created by YGW on 2016/4/17.
* 显示公告的详细内容
*/
public class
PressFragment extends Fragment{

@Override
public View onCreateView (LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {

View view=inflater.inflate (R.layout.ygw_announcement_item_specific,
null);
String content=getArguments ().getString
("content");
String title=getArguments ().getString
("title");
String time=getArguments ().getString ("time");

String apartment=getArguments ().getString ("apartment");

TextView tv_PressTitle=(TextView)view.findViewById
(R.id.PressTitle_item);
TextView
tv_PressContent=(TextView)view.findViewById (R.id.PressContent_Item);

tv_PressTitle.setText (Gonggaohtml(title));

tv_PressContent.setText (Gonggaohtml(content));

return view;
}
//
使用Jsoup解析,这里解决的为题是,解析<p>标签,把数据转化成String类型的
private String
Gonggaohtml(String html) {
Document doc = Jsoup.parse
(html);
Elements ps = doc.getElementsByTag ("p");
String
content = "";
for(Element p : ps) {
content = content
+ p.text ();
}
return content;
}

}

解析网页

下载Jsoup包后导入

/**
* Created by YGW on 2016/4/17.
* 显示公告的详细内容
*/
public class
PressFragment extends Fragment{

@Override
public View onCreateView (LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {

View view=inflater.inflate (R.layout.ygw_announcement_item_specific,
null);
String content=getArguments ().getString
("content");
String title=getArguments ().getString
("title");
String time=getArguments ().getString ("time");

String apartment=getArguments ().getString ("apartment");

TextView tv_PressTitle=(TextView)view.findViewById
(R.id.PressTitle_item);
TextView
tv_PressContent=(TextView)view.findViewById (R.id.PressContent_Item);

tv_PressTitle.setText (Gonggaohtml(title));

tv_PressContent.setText (Gonggaohtml(content));

return view;
}
//
使用Jsoup解析,这里解决的为题是,解析<p>标签,把数据转化成String类型的
private String
Gonggaohtml(String html) {
Document doc = Jsoup.parse
(html);
Elements ps = doc.getElementsByTag ("p");
String
content = "";
for(Element p : ps) {
content = content
+ p.text ();
}
return content;
}

}

解析网页



public class MainActivity extends AppCompatActivity {

private String url = "http://解析网页的Url";
    private Handler handler;
    private List<String> list_title;
    private List<String> list_content;
    private ListView lv_press;

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate (savedInstanceState);
        setContentView (R.layout.activity_main);

lv_press=(ListView)findViewById (R.id.lv_press);
        new Thread(new Runnable() {

@Override
            public void run() {
                parseHtml();

}

}).start ();

list_title = new ArrayList<String> ();
        list_content= new ArrayList<String> ();
        handler = new Handler (){

@Override
            public void handleMessage (Message msg) {
                super.handleMessage (msg);
                if (msg.what == 0x123){

String title_value=msg.getData ().getString ("title_key");
                    String href_value=msg.getData ().getString ("href_key");
                      list_title.add (title_value);
                      list_content.add (href_value);
                    Log.i ("info", title_value + ":" + href_value);
                //    Log.i ("info", list_title.toString () + ":" + href_value);
                    lv_press.setAdapter (new PressListView (list_title,list_content, MainActivity.this));

}
            }
        };
        lv_press.setOnItemClickListener (new AdapterView.OnItemClickListener () {
            @Override
            public void onItemClick (AdapterView<?> parent, View view, int position, long id) {

String path=list_content.get (position);
                Intent intent = new Intent(Intent.ACTION_VIEW);

intent.setData(Uri.parse (path));

startActivity(intent);

}
        });

}
    protected void parseHtml() {
        try {
            Document doc = Jsoup.connect(url).get();
            Elements elements = doc.select("div.unit");//解析这个大布局里的div布局名unit

for (Element ele : elements) {
                String title = ele.getElementsByTag("h1").first().text();//解析所有h1标签
                String href = ele.getElementsByTag("a").first().attr("href");//所有href标签

Log.i ("info","-----------------"+href);
                if (!title.isEmpty ()){
                    Message msg= new Message ();
                    msg.what=0x123;
                    Bundle bundle = new Bundle ();
                    bundle.putString ("title_key",title);
                    bundle.putString ("href_key", href);
                    msg.setData (bundle);
                    handler.sendMessage (msg);
                }

}

} catch (IOException e) {

e.printStackTrace();
        }
    }
}

使用Jsoup帮助解析具有html标签的数据和解析网页的更多相关文章

  1. android基础---->JSON数据的解析

    上篇博客,我们谈到了XML两种常用的解析技术,详细可以参见我的博客(android基础---->XMl数据的解析).网络传输另外一种数据格式JSON就是我们今天要讲的,它是比XML体积更小的数据 ...

  2. 网站seo优化--jsoup 批量分析相关网站 标签,描述,关键词.

    网站seo优化--jsoup 批量分析相关网站 标签,描述,关键词. 因为自己写了一个磁力搜索网站Btgoogle,准备进行优化一下,需要分析其他的网站的优化情况. Java的Jsoup类库和PHP的 ...

  3. <script>标签的加载解析执行

    转自原文 <script>标签的加载解析执行 看了很多网上的文章,都是大同小异.总结一下.内部原理还没有搞清楚,有机会再学习. 一.<script>标签的加载解析执行顺序 ht ...

  4. 【python小随笔】python 解析xml数据的新手大坑>>抓取多重标签,遍历各标签的数据

    xml文档: <GetMatchingProductResult ASIN="B071LF9R6G" status="Success">...< ...

  5. golang中的反射解析结构体标签tag

    package main import ( "fmt" "reflect" ) type resume struct { // 反射解析结构体标签tag Nam ...

  6. iOS开发网络篇—XML数据的解析

     iOS开发网络篇—XML数据的解析 iOS开发网络篇—XML介绍 一.XML简单介绍 XML:全称是Extensible Markup Language,译作“可扩展标记语言” 跟JSON一样,也是 ...

  7. Struts2第十一篇【简单UI标签、数据回显】

    Struts2UI标签 Sturts2为了简化我们的开发,也为我们提供了UI标签-也就是显示页面的标签-.. 但是呢,Struts2是服务端的框架,因此使用页面的标签是需要在服务器端解析然后再被浏览器 ...

  8. Struts2【UI标签、数据回显、资源国际化】

    Struts2UI标签 Sturts2为了简化我们的开发,也为我们提供了UI标签...也就是显示页面的标签..... 但是呢,Struts2是服务端的框架,因此使用页面的标签是需要在服务器端解析然后再 ...

  9. android基础---->XMl数据的解析

    在网络上传输数据时最常用的格式有两种,XML和JSON,下面首先学一下如何解析XML格式的数据,JSON的解析可以参见我的博客(android基础---->JSON数据的解析).解析XML 格式 ...

随机推荐

  1. SQLSERVER2008 18456错误

    转自:http://www.cnblogs.com/496963524-zhangying/articles/2232599.html 百度搜18456错误几乎只能搜到一篇文章,并不是说结果条数,而是 ...

  2. ASCII编码:Linux&Windows

    我们的服务器为linux系统,日志中的字段通常会用不同分隔符来做分隔,在不同操作系统编码格式下查看也会有不同的体现,甚至会出现所谓的乱码.我在xshell5下常用的编码格式Unicode(UTF-8) ...

  3. HDU 5965 Gym Class 贪心+toposort

    分析:就是给一些拓补关系,然后求最大分数,所以贪心,大的越靠前越好,小的越靠后越好 剩下的就是toposort,当然由于贪心,所以使用优先队列 #include <iostream> #i ...

  4. HDU 5607 graph 矩阵快速幂 + 快速幂

    这道题得到了学长的助攻,其实就是一个马尔科夫链,算出一步转移矩阵进行矩阵快速幂就行了,无奈手残 这是我第一回写矩阵快速幂,写的各种毛病,等到调完了已经8点44了,交了一发,返回PE,(发现是少了换行) ...

  5. OWASP Top 10 – 2013, 最新十大安全隐患(ASP.NET解决方法)

    OWASP(开放Web软体安全项目- Open Web Application Security Project)是一个开放社群.非营利性组织,目前全球有130个分会近万名会员,其主要目标是研议协助解 ...

  6. e2e 自动化集成测试 架构 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step (五) 如何让窗体记录登录状态Session

    在写自动化测试的Node.js脚本时, 时常需要测试所写的case, 可能都需要去重新登录一遍,这将相当的耗时, 好在Selenium都借了Session的机制, 如果在最初的浏览器没有关闭的情况下, ...

  7. Zabbix探索:LDAP的认证方式

    这两天部署了Zabbix测试环境,终于用Puppet部署完成了.总是存在一些小问题,如服务不起动啦之类的. LDAP验证方式配置 刚刚配置Zabbix的用户管理,使用LDAP方式认证. 比较惊喜的是L ...

  8. java deleteOnExit函数用法

    Java的File类中有两个delete方法:delete和deleteOnExit delete无需解释,为直接删除,deleteOnExit文档解释为:在虚拟机终止时,请求删除此抽象路径名表示的文 ...

  9. Windows下ffmpeg的完美编译

    纠结了好几天,终于搞定了,小结一下. 1.下载ffmpeg源码,官网 2.编译环境Msys的安装配置,http://blog.csdn.net/jszj/article/details/4028716 ...

  10. Sort--快速排序

    快速排序 1 public class QuickSort{ 2 3 public static int Partition(int[] a,int low,int high){ 4 int pivo ...