Xml的pull解析

<?xml version="1.0" encoding="UTF-8"?>
<shangpings>                            
    <shangping >                    
        <name>商品一</name>            
        <price>20</price>
        <path>mnt/sdcard/a.jpg</path>
    </shangping>
    <shangping >
        <name>商品二</name>
        <price>24</price>
        <path>mnt/sdcard/b.jpg</path>
    </shangping>
     <shangping >
        <name>商品三</name>
        <price>30</price>
        <path>mnt/sdcard/c.jpg</path>
    </shangping>
</shangpings>





public void pullXml(){
        //得到解析对象
        XmlPullParser pullParser = Xml.newPullParser();
        File file=new File("mnt/sdcard/shangping.xml");
        try {
            FileInputStream fis=new FileInputStream(file);
            pullParser.setInput(fis, "utf-8");
            //得到解析的事件
            int eventType = pullParser.getEventType();
            //如果不到文档的结束,就一直解析
             while(eventType!=XmlPullParser.END_DOCUMENT)
            {
                //标签的名字
                String tagName  = pullParser.getName();
                switch (eventType) {
                case XmlPullParser.START_TAG: //开始的标签
                    if(tagName.equals("shangpings")){
                        list = new ArrayList<Shop>();
                    }else if(tagName.equals("shangping"))
                    {
                        shop = new Shop();
                        
                    }else if(tagName.equals("name"))
                    {
                        shop.setName(pullParser.nextText());
                    }else if(tagName.equals("price"))
                    {
                        shop.setPrice(pullParser.nextText());
                    }else if(tagName.equals("path"))
                    {
                        shop.setImg(pullParser.nextText());
                    }
                    break;

                case XmlPullParser.END_TAG: //结束标签
                    
                    if(tagName.equals("shangping")){
                        dao.add(shop.getImg(), shop.getName(), shop.getPrice());
                        shop=null;
                    }
                    break;
                }
                eventType = pullParser.next();
            }
            
        }  catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } 


//如果商品标签后有子属性

shangping.setId(Integer.parseInt(pullParser.getAttributeValue(0)));





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值