	package com.example.utils;

	import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
	

	/*
						<td rowspan="2" valign="top">
							<!-- 星期 -->
							<!-- 有时间、地点的课表 -->
								<!-- 在星期，节次时间点上的课程 -->
									信息系统分析与设计_03<br/>
										谢益武
									&nbsp;3-19周</br>
									百川楼302(多媒体)<br/>
							&nbsp;
						<td rowspan="2" valign="top">
							<!-- 星期 -->
							<!-- 有时间、地点的课表 -->
								<!-- 在星期，节次时间点上的课程 -->
									英语(二外)_02<br/>
										时永文
									&nbsp;1-18周</br>
									励志楼304（多媒体）<br/>
							&nbsp;
						<td rowspan="2" valign="top">
							<!-- 星期 -->
							<!-- 有时间、地点的课表 -->
								<!-- 在星期，节次时间点上的课程 -->
									信息系统分析与设计_03<br/>
										谢益武
									&nbsp;3-19单周</br>
									百川楼302(多媒体)<br/>
									嵌入式系统软件设计_01<br/>
										陈军亮
									&nbsp;2-18双周</br>
									励志楼301（多媒体）<br/>
							&nbsp;
						<td rowspan="2" valign="top">
							<!-- 星期 -->
							<!-- 有时间、地点的课表 -->
								<!-- 在星期，节次时间点上的课程 -->
							&nbsp;
						<td rowspan="2" valign="top">
							<!-- 星期 -->
							<!-- 有时间、地点的课表 -->
								<!-- 在星期，节次时间点上的课程 -->
									计算机组织与结构_02<br/>
										李辉
									&nbsp;1-18周</br>
									四海楼303(多媒体)<br/>
							&nbsp;
						<td rowspan="2" valign="top">
							<!-- 星期 -->
							<!-- 有时间、地点的课表 -->
								<!-- 在星期，节次时间点上的课程 -->
							&nbsp;
						<td rowspan="2" valign="top">
							<!-- 星期 -->
							<!-- 有时间、地点的课表 -->
								<!-- 在星期，节次时间点上的课程 -->
							&nbsp;*/
	//一行7个，周一至周五
	public class ParseHtml{

		private String html;
		Student student;
		ArrayList<String[]> kc_List;
		public KC_List kc_List2;
		public ParseHtml(String html){
			this.html=html;
			kc_List2 = new KC_List();
		}
		public void parseHtml(){
			String nbsp = Jsoup.parse("&nbsp;").text().toString();
			Document doc = null;
			try {
				InputStream in = new ByteArrayInputStream(html.getBytes("gb2312"));
				doc = Jsoup.parse(in, "gb2312", "http://202.118.88.140/xskbAction.do?actionType=1");
			} catch (UnsupportedEncodingException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
			Elements tables = doc.select("table[class=displayTag]"); 
			Elements trs = tables.select("tr");
			Elements tds = trs.select("td[rowspan=2]" );
			for(org.jsoup.nodes.Element table : tables){
				String text = table.text();
				System.out.println("tabletext:"+text);
			}
			System.out.println(".............................");
			
			kc_List = new ArrayList<String[]>();
			int line_shu = 0,num=0;
			for(org.jsoup.nodes.Element tr : trs){  //行，表格中的一行
				line_shu++;
				if(line_shu >=3){ //跳过前两行
				String text = tr.text();
				if(!text.isEmpty()){
					System.out.println("trtext:"+text);
				    Elements tdss = tr.select("td");
				String[] kc_Strs = new String[6];
				for(org.jsoup.nodes.Element td : tdss){  //表格中的一个格子
					String text1 = td.text();
					//String text2 = text.replaceAll(nbsp, " ");
					String text2 = text1.replace(nbsp, " ");
					if(num<6)
					kc_Strs[num++]=text2;                     //把一行的数据放在一个String数组
					System.out.println("tdtext:"+text2);
					System.out.println("..............");
				}
				kc_List.add(kc_Strs);
				num=0;
				}
				
				/*if(text.equals("")){   //空的，这个也可以
					System.out.println("trtext是:"+"");
				}*/
				}
			}
			kc_List2.setKc_list(kc_List);
			org.jsoup.nodes.Element tr = trs.get(0); //学生信息
			String[] stuData =  tr.text().split(" ");
			for(int j=0;j<stuData.length;j++){  
				System.out.println("stuData["+j+"]:"+stuData[j]);
				
			}/*stuData[0]:院系：
	           stuData[1]:信息科学技术学院
	           stuData[2]:专业：
	           stuData[3]:软件工程*/
			student = new Student(stuData[1], stuData[3], stuData[5], stuData[7]);
			
			System.out.println(".............................");
		/*System.out.println("----------List数据----------");
			for(int j=0;j<kc_List.size();j++){
				
				String[] strs = kc_List.get(j);
				for(int m=0;m<strs.length;m++){
					System.out.println("strs"+m+":"+strs[m]);
				}
			}*/
		}
		public Student getStu(){
			return student;
		}
		
		public ArrayList<String[]> getKc_Strs(){
			return  kc_List;
		}
	}
