如何使用xmlpullparser

时间:2013-08-06 05:13:12

标签: xmlpullparser

public class MainActivity_Party extends Activity implements OnClickListener {

    Button parse;
    TextView test;
    TextView test2;
    TextView test3;

    String Url = "http://abc13.dothome.co.kr/board.xml";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_party);

        parse = (Button)findViewById(R.id.parse);
        parse.setOnClickListener(this);
        test = (TextView)findViewById(R.id.main_test);
        test2 = (TextView)findViewById(R.id.main_test2);
        test3 = (TextView)findViewById(R.id.main_test3);


        try{
            test.setText("aa");
            URL url = new URL(Url);
            XmlPullParserFactory parserCreator = XmlPullParserFactory.newInstance();
            XmlPullParser parser = parserCreator.newPullParser();
            parser.setInput(url.openStream(), null); 
            int parserEvent = parser.getEventType();
            String tag;


            while(parserEvent != XmlPullParser.END_DOCUMENT){

                switch(parserEvent){

                    case XmlPullParser.START_TAG:

                        tag = parser.getName();
                        test.setText(tag);

                    case XmlPullParser.TEXT:

                        tag = parser.getName();
                        test2.setText(tag);

                    case XmlPullParser.END_TAG:

                        tag = parser.getName();
                        test3.setText(tag);
                }



            }



        }catch(XmlPullParserException e){
            Log.i("XMLLLLLLLLL","XmlError@@@@@@@@@@@@@@@@@");   
        }catch(Exception e){
            Log.i("EXCEPTIONNNNNN","EXCEPTIONNNNNNNNN");
        }

嗨,我是Android开发的初学者。

我正在尝试解析服务器中的xml文件,请使用xmlpullparser。

这是测试代码,但是xmlpullparser没有运行。

testView的文字没有改变..

此代码有什么问题?

此代码是否无法使用URL和流读取XML文件?

如果没有,我该怎么办?

请一些帮助。

感谢。

1 个答案:

答案 0 :(得分:0)

这里有点帮助。 我看到三个问题不是很好。

每个案例都必须以break语句结束。

case x:
 x+=1;
 break;
case y:
   y+=1;
   break;

然后你必须在循环中获得下一个事件

parserEvent = parser.next();

如果没有检查文件中每个元素的enddocument,代码写得会更快。

eventtype = xpp.getEvent();

while (true) {

//and if else if statements for the parser event the last statement being if end
//document {break}

eventtype = parser.next();
}