and android:解析xml,一个节点标签中,有多个属性,怎样解析?

2025-01-01 14:49:09
推荐回答(1个)
回答1:

定义好对象关系的类。


解析以Course为例子

public static List getCourseList(InputStream stream){
    List list=new ArrayList();
    
    //得到 DocumentBuilderFactory 对象, 由该对象可以得到 DocumentBuilder 对象
    DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
    
    try {
        //得到DocumentBuilder对象
        DocumentBuilder builder=factory.newDocumentBuilder();
        //得到代表整个xml的Document对象
        Document document=builder.parse(stream);
        //得到 "根节点"
        Element root=document.getDocumentElement();
        //获取根节点的所有items的节点
        NodeList items=root.getElementsByTagName("item");  
        //遍历所有节点
        for(int i=0;i            Course course=new Course();
            Element item=(Element)items.item(i);
            course.setName(item.getAttribute("name"));
            //再枚举子节点
            list.add(course);
        }
        
    } catch (ParserConfigurationException e) {
        e.printStackTrace();
    } catch (SAXException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    
    return list;
}