2234214 2015-05-30 11:58 采纳率: 0%
浏览 721

JAVA jsoup解析网页时,并以列表方式输出,但采用键值对方式时出现错误,跪求解决!!!!

部分代码:public static List> getKcList(String str) {
List> kcList = new ArrayList>();
Document doc = Jsoup.parse(str);
Elements datas = doc.getElementsByTag("table");
Element data = datas.get(0);
Elements trs = data.getElementsByTag("tr");
for (int i = 0; i < trs.size(); i++) {

       Elements tds = trs.get(i).select("td[rowspan=2]");
       for (int j = 0; j < tds.size(); j++) {



           if (!"".equals(tds.get(j).text())) {

                   kcList.add(getkcMap(tds.get(j).text()));

               }
           }

}
Log.i("Td","kcList"+kcList.size());
// Log.i("Th","kcList"+kcList.size());
return kcList;
}
/***************************
* 数据封装
****************************/
private static MapgetkcMap(String str){
String courseInfo[]=new String[]{
"课程编号:","课程名称:","教师号:","教师姓名:",
"上课时间:", "上课教室:","答疑时间:","答疑地点:",

    };
    String sCourse[] = str.split("\n");
    int i = 0;
    Map<String, String> map = new HashMap<String, String>();
    for (;i < sCourse.length; i++) {
        String s = sCourse[i];
        map.put(courseInfo[i], s);
        Log.i("Td", i + courseInfo[i] + "==" + s);
    }

    return map;

}

}

显示时: private void toShow(){
StringBuffer sb = new StringBuffer();
for(Mapmap:kcList){
for(String key : map.keySet()) {
if(!"".equals(map.get(key)))
sb.append(key).append(" ").append(map.get(key)).append(" ");
}
sb.append("\n----------------------\n");
}

  kb.setText(sb.toString());
}

}

显示结果出现错误如下:图片说明

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 安装svn网络有问题怎么办
    • ¥15 Python爬取指定微博话题下的内容,保存为txt
    • ¥15 vue2登录调用后端接口如何实现
    • ¥65 永磁型步进电机PID算法
    • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
    • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
    • ¥15 如何处理复杂数据表格的除法运算
    • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
    • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
    • ¥15 latex怎么处理论文引理引用参考文献