android解析html新闻的方法,Android使用Jsoup解析Html表格的方法
本文实例讲述了Android使用Jsoup解析Html表格的方法。分享给大家供大家参考,具体如下:
看代码吧,可解析表中的label text button 自己根据需要再添加,呵呵
import java.util.ArrayList;
import java.util.List;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
import android.widget.Toast;
public class TableParseActivity extends Activity{
private Document doc;
private String html = null;
private TableLayout tableLayout;
private final int WC = ViewGroup.LayoutParams.WRAP_CONTENT;
private final int FP = ViewGroup.LayoutParams.FILL_PARENT;
private final int WIDTH = 80;
private String functionName,fields;
private List params;
private static String url;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.analyzing);
html = "需要解析的HTML字符串";
tableParse();
}
public void tableParse(){
doc = Jsoup.parse(html);
Elements trs = doc.select("tr");
tableLayout = (TableLayout)findViewById(R.id.tableLayout1);
TableLayout.LayoutParams p = new TableLayout.LayoutParams(FP, WC);
this.setTitle(doc.title());
for (Element row : trs) {//循环表下的行 tr对象
TableRow tableRow = new TableRow(this);
Elements cols = row.children();
for (Element col : cols) {//循环行下的列 td对象
Elements children = col.children();
for (Element child : children) {
if(child.tagName().equals("label")){
TextView textView = new TextView(this);
textView.setText(child.val());
textView.setTextColor(Color.BLACK);
tableRow.addView(textView);
}else if(child.tagName().equals("input")&&child.attributes().get("type").equals("text")){
EditText editText = new EditText(this);
editText.setText(child.val());
editText.setWidth(WIDTH);
tableRow.addView(editText);
String id = child.attributes().get("id");
if(id.length() > 0){
editText.setId(Integer.parseInt(child.attributes().get("id")));
}
}else if(child.tagName().equals("input")&&child.attributes().get("type").equals("button")){
Button button = new Button(this);
button.setText(child.val());
tableRow.addView(button);
fields = child.attributes().get("fields");
functionName = child.attributes().get("functionName");
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//TODO onClick
}
});
}//end if(child.tagName().equals("input")&&child.attributes().get("type").equals("button"))
}//end for (Element child : children)
}//end for (Element col : cols)
tableLayout.addView(tableRow,p);
}//end for (Element row : rows)
}//end tableParse()
}
希望本文所述对大家Android程序设计有所帮助。
android解析html新闻的方法,Android使用Jsoup解析Html表格的方法相关推荐
- 基于android的校园新闻app,基于Android的校园新闻app开发第三稿李威案例.doc
届 别 2015届 学 号 201114100130 毕业设计(论文) 基于Android平台的校园新闻app的开发 姓 名 李威 系 别. 专 业 数学与金融学院 信息与计算科学 导 师 姓 名.职 ...
- 安卓新闻客户端(二) JSOUP解析HTML 抓取网页内容
最近在做一个安卓新闻客户端,新闻内容解析遇到了些麻烦,内容多样,文字视频图片都有,发现用Jsoup 不是那么好做,就上网查了查直接用用webview,可是用了之后发现显示空白,而且其实网页的大部分信息 ...
- Android解析xml的方法,Android中解析XML格式数据的方法
XML介绍:Extensible Markup Language,即可扩展标记语言 一.概述 Android中解析XML格式数据大致有三种方法: SAX DOM PULL 二.详解 2.1 SAX S ...
- 播放视频android学习笔记---44_在线视频播放器,网络视频解析器,SurfaceView 控件使用方法...
最近用使开辟的过程中涌现了一个小题问,顺便录记一下因原和法方--播放视频 44_在线视频播放器 ------------------------- 1.注意这里,在模拟器中,android2.2和an ...
- android theme 使用方法,Android入门之Style与Theme用法实例解析
就目前的互联网发展来看,已经有越来越多互联网企业都在Android平台上部署其客户端,并且为了提升用户体验,这些客户端都做得布局合理而且美观.本文所要介绍的Android的Style设计就是提升用户体 ...
- ANDROID 开发一个新闻阅读器之新闻列表
1. 功能描述 这一讲中我们将对如何实现新闻列表做一个详细的介绍,新闻列表会把所有我们从网上获取的新闻的标题显示给用户,用户通过阅读标题,选择自己想要查看的新闻,进入具体的新闻显示页 ...
- 一起来开发Android的天气软件(四)——使用Gson解析数据
离上一篇文章过去才4.5天,我们赶紧趁热打铁继续完成该系列的天气软件的开发.承接上一章的内容使用Volley实现网络的通信,返回给我们的是这一串Json数据{"weatherinfo&quo ...
- Android之图片加载框架Picasso源码解析
转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/76645535 本文出自:[顾林海的博客] 个人开发的微信小程序,目前功 ...
- android viewpager动态加载页面,Android viewpager中动态添加view并实现伪无限循环的方法...
本文实例讲述了Android viewpager中动态添加view并实现伪无限循环的方法.分享给大家供大家参考,具体如下: viewpager的使用,大家都熟悉,它可以实现页面之间左右滑动的切换,这里 ...
- android之tab分页标签的实现方法,Android应用中使用ViewPager和ViewPager指示器来制作Tab标签...
一.ViewPageIndicator开源框架的基本用法我们先得去Github上面下载这个库,下载地址:https://github.com/JakeWharton/Android-ViewPager ...
最新文章
- python的难点在哪里_自己写的Python答案,不知道错在哪儿希望能被告知问题在哪儿和答案...
- pip更换国内镜像源
- 10种常用降维算法源代码(python)
- 在jsx中绑定js表达式以及jsx注释
- Cisco 2960 交换机密码设置
- 深度学习:又一次推动AI梦想(Marr理论、语义鸿沟、视觉神经网络、神经形态学)
- 使用AspectJ和Spring简化了AOP
- 【转】DICOM文件格式剖析(初识)
- Mybatis 框架源码解读(详细流程图+时序图)
- 对自定义SharePoint WebService的总结
- 深入浅出Hyper-V网络虚拟化(序)
- Deep Learning 和 Knowledge Graph howto
- linux裸磁盘的配置,【存储】nas模拟裸磁盘挂载swift
- php 富文本编辑器,曾经用过的十大富文本编辑器
- 转换动态磁盘到普通磁盘
- 漫威超级英雄大全(一)
- 沁恒微USB蓝牙单片机CH573F初步熟悉
- “熊孩子”乱敲键盘攻破 Linux 桌面;苹果开源代码被发现包含兼容微信的代码;网传蚂蚁启用OKR替代KPI | EA周报...
- 3款在线网页原型图设计软件推荐
- C# 固高Jog运动
热门文章
- 讨论一下c++中由外部os向主线程中传入参数的问题
- 0930_C/C++笔试题_12:16道c语言面试【6/7】
- 程序员应当注意的肢体语言
- Dictionarystring,object性能之测试
- [数据结构] 左偏树
- element ui的时间选择器
- vuex的基础小案例(黑马教程)
- MongoDB学习(黑马教程)-1-数据库概述及环境搭建
- python ai 源码_2018年撩课学院-Python+人工智能/JavaEE/Web全栈/全学科下载_Python教程...
- win10文件后缀名怎么显示_显示文件类型扩展名图文教程,win电脑系统文件修改后缀名方法...