0
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 文件?

如果没有,我该怎么办?

请帮忙。

谢谢。

4

1 回答 1

0

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

每个 case 都必须以 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();
}
于 2013-08-30T18:18:33.270 回答