本文实例讲述了Android使用Jsoup解析Html表格的方法。分享给大家供大家参考,具体如下:
看代码吧,可解析表中的label text button 自己根据需要再添加,呵呵
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
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<NameValuePair> 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程序设计有所帮助。