本文实例讲述了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表格的方法相关推荐

  1. 基于android的校园新闻app,基于Android的校园新闻app开发第三稿李威案例.doc

    届 别 2015届 学 号 201114100130 毕业设计(论文) 基于Android平台的校园新闻app的开发 姓 名 李威 系 别. 专 业 数学与金融学院 信息与计算科学 导 师 姓 名.职 ...

  2. 安卓新闻客户端(二) JSOUP解析HTML 抓取网页内容

    最近在做一个安卓新闻客户端,新闻内容解析遇到了些麻烦,内容多样,文字视频图片都有,发现用Jsoup 不是那么好做,就上网查了查直接用用webview,可是用了之后发现显示空白,而且其实网页的大部分信息 ...

  3. Android解析xml的方法,Android中解析XML格式数据的方法

    XML介绍:Extensible Markup Language,即可扩展标记语言 一.概述 Android中解析XML格式数据大致有三种方法: SAX DOM PULL 二.详解 2.1 SAX S ...

  4. 播放视频android学习笔记---44_在线视频播放器,网络视频解析器,SurfaceView 控件使用方法...

    最近用使开辟的过程中涌现了一个小题问,顺便录记一下因原和法方--播放视频 44_在线视频播放器 ------------------------- 1.注意这里,在模拟器中,android2.2和an ...

  5. android theme 使用方法,Android入门之Style与Theme用法实例解析

    就目前的互联网发展来看,已经有越来越多互联网企业都在Android平台上部署其客户端,并且为了提升用户体验,这些客户端都做得布局合理而且美观.本文所要介绍的Android的Style设计就是提升用户体 ...

  6. ANDROID 开发一个新闻阅读器之新闻列表

    1.          功能描述 这一讲中我们将对如何实现新闻列表做一个详细的介绍,新闻列表会把所有我们从网上获取的新闻的标题显示给用户,用户通过阅读标题,选择自己想要查看的新闻,进入具体的新闻显示页 ...

  7. 一起来开发Android的天气软件(四)——使用Gson解析数据

    离上一篇文章过去才4.5天,我们赶紧趁热打铁继续完成该系列的天气软件的开发.承接上一章的内容使用Volley实现网络的通信,返回给我们的是这一串Json数据{"weatherinfo&quo ...

  8. Android之图片加载框架Picasso源码解析

    转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/76645535 本文出自:[顾林海的博客] 个人开发的微信小程序,目前功 ...

  9. android viewpager动态加载页面,Android viewpager中动态添加view并实现伪无限循环的方法...

    本文实例讲述了Android viewpager中动态添加view并实现伪无限循环的方法.分享给大家供大家参考,具体如下: viewpager的使用,大家都熟悉,它可以实现页面之间左右滑动的切换,这里 ...

  10. android之tab分页标签的实现方法,Android应用中使用ViewPager和ViewPager指示器来制作Tab标签...

    一.ViewPageIndicator开源框架的基本用法我们先得去Github上面下载这个库,下载地址:https://github.com/JakeWharton/Android-ViewPager ...

最新文章

  1. python的难点在哪里_自己写的Python答案,不知道错在哪儿希望能被告知问题在哪儿和答案...
  2. pip更换国内镜像源
  3. 10种常用降维算法源代码(python)
  4. 在jsx中绑定js表达式以及jsx注释
  5. Cisco 2960 交换机密码设置
  6. 深度学习:又一次推动AI梦想(Marr理论、语义鸿沟、视觉神经网络、神经形态学)
  7. 使用AspectJ和Spring简化了AOP
  8. 【转】DICOM文件格式剖析(初识)
  9. Mybatis 框架源码解读(详细流程图+时序图)
  10. 对自定义SharePoint WebService的总结
  11. 深入浅出Hyper-V网络虚拟化(序)
  12. Deep Learning 和 Knowledge Graph howto
  13. linux裸磁盘的配置,【存储】nas模拟裸磁盘挂载swift
  14. php 富文本编辑器,曾经用过的十大富文本编辑器
  15. 转换动态磁盘到普通磁盘
  16. 漫威超级英雄大全(一)
  17. 沁恒微USB蓝牙单片机CH573F初步熟悉
  18. “熊孩子”乱敲键盘攻破 Linux 桌面;苹果开源代码被发现包含兼容微信的代码;网传蚂蚁启用OKR替代KPI | EA周报...
  19. 3款在线网页原型图设计软件推荐
  20. C# 固高Jog运动

热门文章

  1. 讨论一下c++中由外部os向主线程中传入参数的问题
  2. 0930_C/C++笔试题_12:16道c语言面试【6/7】
  3. 程序员应当注意的肢体语言
  4. Dictionarystring,object性能之测试
  5. [数据结构] 左偏树
  6. element ui的时间选择器
  7. vuex的基础小案例(黑马教程)
  8. MongoDB学习(黑马教程)-1-数据库概述及环境搭建
  9. python ai 源码_2018年撩课学院-Python+人工智能/JavaEE/Web全栈/全学科下载_Python教程...
  10. win10文件后缀名怎么显示_显示文件类型扩展名图文教程,win电脑系统文件修改后缀名方法...