Android:Xml Pull Parser不能正常工作

时间:2012-07-17 11:12:43

标签: java android xml-parsing xmlpullparser

我尝试从Xml文件中提取数据,我遵循了以下教程: XmlPullParser tutorial

现在有以下代码:

public void parse(InputStream is) {
        // create new Study object to hold data


        try {
            // get a new XmlPullParser object from Factory
            XmlPullParser parser = XmlPullParserFactory.newInstance().newPullParser();
            // set input source
            parser.setInput(is, null);
            // get event type
            int eventType = parser.getEventType();
            // process tag while not reaching the end of document
            while(eventType != XmlPullParser.END_DOCUMENT) {
                switch(eventType) {
                    // at start of document: START_DOCUMENT
                    case XmlPullParser.START_DOCUMENT:

                        break;

                    // at start of a tag: START_TAG
                    case XmlPullParser.START_TAG:
                        // get tag name

                        String tagName = parser.getName();
                        Log.i("AT START TAG","AT START TAG..."+tagName);
                        // if <study>, get attribute: 'id'
                        if(tagName.equalsIgnoreCase("Date")) {
                            Log.i("****PARSER INFO","TAG NAME="+tagName+"...."+parser.nextText());
                            eventDates.add(parser.nextText());
                            //study.mId = Integer.parseInt(parser.getAttributeValue(null, Study.ID));
                        }
                        // if <content>
                        else if(tagName.equalsIgnoreCase("Name")) {
                            Log.i("****PARSER INFO","TAG NAME="+tagName+"...."+parser.nextText());
                            performanceNames.add(parser.nextText());
                            //study.mContent = parser.nextText();
                        }
                        // if <topic>
                        else if(tagName.equalsIgnoreCase("RequestURL")) {
                            Log.i("****PARSER INFO","TAG NAME="+tagName+"...."+parser.nextText());
                            eventsURLS.add(parser.nextText());
                            //study.mTopic = parser.nextText();
                        }
                        break;
                }
                // jump to next event
                eventType = parser.next();
            }
        // exception stuffs
        } catch (XmlPullParserException e) {
            //study = null;
        } catch (IOException e) {
            //study = null;
        }

        // return Study object

    }

由于某种原因,即使我确保标记名称与上面的字符串相同,IF语句中的代码也不会运行。 我做错了什么?

0 个答案:

没有答案