如图,请问如何分别解析红框中的xml数据,分别存入list中,最好有个demo或有点代码急急急!!!就这点分了,求见谅XML

解决方案 »

  1.   

    去找传智播客的视频有一期专门讲xml解析 看看就明白了 
      

  2.   

    这个单层和多层不都一样么比如第一个,碰到img标签,就new一个item的list,然后碰到一个item标签,就new一个item,然后item各种赋值。再碰到一个结束的item标签,就把item add到list里面去。就ok了
      

  3.   

    String url= "http://gumeipost.gicp.net:5512/lehuotuan/api/iphonetype.php";
    try {
    URL u = new URL(url); 
    HttpURLConnection conn = (HttpURLConnection) u.openConnection(); 
    conn.setRequestMethod("GET"); 
    conn.setReadTimeout(20000);
    conn.setConnectTimeout(20000);
    if (conn.getResponseCode() == 200) { 
    InputStream in = conn.getInputStream(); 
    XmlPullParser parser = Xml.newPullParser(); 
    parser.setInput(in, "UTF-8"); 
    int event = parser.getEventType(); 
    boolean flag = true;
    while (event != XmlPullParser.END_DOCUMENT) { 
    switch (event) { 
    case XmlPullParser.START_TAG:
    if("img".equals(parser.getName()) && flag){
    list = new ArrayList<MainInfo>();
    }
    else if ("item".equals(parser.getName()) && flag) { 
    // if(list != null){
    info = new MainInfo();
    System.out.println("address--->"+parser.nextText());
    // }

    else if ("id".equals(parser.getName()) && flag) { 
    // if(info != null){
    String id=parser.nextText(); 
    System.out.println("id--->"+id);
    info.setId(Integer.parseInt(id));
    // }

    else if (("name").equals(parser.getName()) && flag) { 
    // if(info != null){
    String name=parser.nextText(); 
    System.out.println("name--->"+name);
    info.setName(name);
    // }

    else if (("image").equals(parser.getName()) && flag) { 
    // if(info != null){
    String status=parser.nextText(); 
    System.out.println("status--->"+status);
    info.setImage(status);
    // }

    else if ("sort_order".equals(parser.getName()) && flag) { 
    // if(info != null){
    String type=parser.nextText(); 
    System.out.println("type--->"+type);
    info.setSort_order(Integer.parseInt(type));
    // }

    break; 
    case XmlPullParser.END_TAG: 
    if ("item".equals(parser.getName()) && flag) { 
    list.add(info);
    System.out.println("info------------------->"+info.toString());
    info = null;
    }else if("img".equals(parser.getName()) && flag){
    flag = false;
    }
    break; 

    event = parser.next();

    } else if(conn.getResponseCode() == 500){
    throw new POAException("服务器地址错误!");
    } else if(conn.getResponseCode() != 200){
    throw new POAException("服务器连接错误!");
    }
    } catch (Exception e) {
    e.printStackTrace(); 
    System.out.println("网络异常");
    }
    这是我解析img的代码,但是不知道怎么解析category的