代码逻辑上面出了问题

来源:互联网 发布:软件界面图片 编辑:程序博客网 时间:2024/05/15 03:07

        解析微博页面的时候,用xpath dd[1]/a,如果a标签有title或者a/li标签上面有title,就判断这个字符串值来给rs设置key赋值,没有在这些判断字符串里面的就放到一个list里面,结果很多a标签既没有title,a/i里面也没有title,导致将最后一个字符串写了多次进到list里面。代码如下

List<String> checks = new ArrayList<String>();
        String check = "";
        for(int k=0;k<as.length;k++){
            TagNode aTag = (TagNode)as[k];
            if(k==0){

                map.put(Constants.USER_URL, formatUserParsedUrl(aTag.getAttributeByName("href")));
                map.put(Constants.username, aTag.getText().toString());
                
                continue;
            }    
            if(aTag.getAttributeByName("title")!=null&&aTag.getAttributeByName("title").trim().length()>0){

                check = aTag.getAttributeByName("title");
                
            }else if(aTag.evaluateXPath("i").length>0){
                TagNode img = (TagNode)aTag.evaluateXPath("i")[0];
                check = img.getAttributeByName("title");

            }
            if(check.equals("")){
                continue;
            }
            if(check.equals("微博个人认证")){
                map.put(Constants.isChecked, 1);
                map.put(Constants.userType, 1);
                continue;
            }else if (check.equals("微博机构认证")){
                map.put(Constants.isChecked, 1);
                map.put(Constants.userType, 2);
                continue;
            }else if(check.equals("微博会员")){
                map.put(Constants.isVIP, 1);
                continue;
            }
            checks.add(check);
            check = "";
        }


注意代码的逻辑,很多地方没有考虑到。

0 0
原创粉丝点击