现在有一个list,有若干元素(XML中的节点),想用循环一个一个的放进list,用什么方法?
查看API上的list.add方法,总是出错,无法放进去.请教大家??在线等答案!

解决方案 »

  1.   

    list的实例是什么?出错出的什么错?问题无法描述清楚,别人怎么猜?
      

  2.   

    从一个list(里面是一组XML节点),通过处理,用循环想一个一个的放进另一个list,
    空指针错误
      

  3.   

    public static Document ToXml(Document d) throws JDOMException{
      
       List<Element> lists=null;
       List<Element> listb=null;
       List<Element> listk=null;
       //int s = 0;
       //int b = 0;
       //int k = 0;
       Element devices = null;
       Element device=null;
       Element ban=null;
       Element kou=null;
       Document xml = null;
       Element root = d.getRootElement();
       /*XPath top=XPath.newInstance("/Device/TopDeviceID");
       List list=top.selectNodes(d);
       for(int i=0;i<list.size();i++){
       Element t = (Element) list.get(i);
               String s=t.getText();
               System.out.print(s);
       }*/
       List list = XPath.selectNodes(root, "/Device/ID");
       for(int i=0;i<list.size();i++){
       Element ID = (Element) list.get(i);
       String value = ID.getAttributeValue("value");
       System.out.print(value);
       System.out.print("\n");
       String type = ((Text)XPath.selectSingleNode(ID, "//ID[@value="+"'"+value+"'"+"]/DeviceType/text()")).getTextNormalize();
               if(type.equals("1")){  //得到所有的设备  放在lists
                //System.out.print("111111111111111111111111111111111");
                //Element e = ID;
               // System.out.print(e.getAttributeValue("value"));
              lists.add(ID);  
              //s++;  
              }
               if(type.equals("2")){  //得到所有的板 放在 listb
                listb.add(ID);
                //b++;
               }
               else{                   //得到所有的口 放在listk
                listk.add(ID);
                //k++;
               }
       //String name = ID.getAttributeValue("value");
      // System.out.print(name);
       //System.out.print(s);
       //System.out.print("\n");    }异常只报了一个: java.lang.NullPointerException
      

  4.   

    List<Element> lists=null;
    List<Element> listb=null;
    List<Element> listk=null;
    改成
    List<Element> lists=new List<Element>();
    List<Element> listb=new List<Element>();
    List<Element> listk=new List<Element>();
      

  5.   

    错了,改成:
    改成
    List<Element> lists=new ArrayList<Element>();
    List<Element> listb=new ArrayList<Element>();
    List<Element> listk=new ArrayList<Element>();
      

  6.   

    list 是一个接口类,不能 List list = new List();来实例化
      

  7.   

    你声明List父类接口,没有实例化。