首页 新闻 会员 周边

解析books.xml文件,分别采用pull和sax的方式,怎么整?

0
悬赏园豆:160 [待解决问题]

解析books.xml文件,分别采用pullsax的方式,怎么写呢?

book.xml 内容如下

 

<?xml version="1.0" encoding="UTF-8"?>
<books>
<book>
<name>3天精通java</name>
<author>小德</author>
<price>88</price>
</book>
<book>
<name>1天精通android</name>
<author>小德</author>
<price>888</price>
</book>
</books>

 

 

谁能帮我写一下呢?

求代码 感觉真的好难!!

java菜鸟002的主页 java菜鸟002 | 初学一级 | 园豆:44
提问于:2018-04-25 23:57
< >
分享
所有回答(3)
0

直接反序列化就简单。

花飘水流兮 | 园豆:13560 (专家六级) | 2018-04-26 05:21

支持(0) 反对(0) java菜鸟002 | 园豆:44 (初学一级) | 2018-04-26 07:18
0
//pull解析
public void parseXmlWithPull(String xmlData){
        try{
            XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
        XmlPullParser xmlPullParser = factory.newPullParser();
        xmlPullParser.setInput(new StringReader(xmlData));
        int eventType = xmlPullParser.getEventType();
        String name ="";
        String author="";
        String price="";
        
        while(eventType != XmlPullParser.END_DOCUMENT){
            String nodeName = xmlPullParser.getName();
            switch(eventType){
                case XmlPullParser.START_TAG:{
                    if("name".equals(nodeName)){
                        name = xmlPullParser.nextText();
                    }else if("author".equals(nodeName)){
                        author = xmlPullParser.nextText();
                    }else if("price".equals(nodeName)){
                        price = xmlPullParser.nextText();
                    }
                    break;
                }
                
                case XmlPullParser.END_TAG:{
                    if("book".equals(nodeName)){
                        //完成解析
                    }
                    break;
                }
                default:
                    break;
                    
            }
            eventType = xmlPullParser.next();
        }
        }catch(Exception e){
            e.printStackTrace();
    }

 

起白 | 园豆:115 (初学一级) | 2018-04-26 09:58

还有一题呢?

支持(0) 反对(0) java菜鸟002 | 园豆:44 (初学一级) | 2018-04-26 13:42
0

不需要了,已经过了,谢谢各位

java菜鸟002 | 园豆:44 (初学一级) | 2018-04-26 13:46
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册