package com.example.xmlpullparsedemo;
import java.io.IOException;
import java.util.ArrayList;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import org.xmlpull.v1.XmlPullParserFactory;
import com.example.xmlpullparsedemo.bean.Language;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.widget.TextView;
public class MainActivity extends Activity {
private static final String TAG = "MainActivity";
private TextView textView;
private ArrayList<Language> languageList;
private Language language;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.textView);
pullXMLParse();
for (Language language : languageList) {
textView.append(language.toString()+"\n");
}
}
private void pullXMLParse() {
try {
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
XmlPullParser pullParser = factory.newPullParser();
pullParser.setInput(getAssets().open("language.xml"), "utf-8");
int type = pullParser.getEventType();
while (type != XmlPullParser.END_DOCUMENT) {
String name = pullParser.getName();
switch (type) {
case XmlPullParser.START_DOCUMENT:
languageList = new ArrayList<Language>();
break;
case XmlPullParser.START_TAG:
if ("item".equals(name)) {
language = new Language();
String id = pullParser.getAttributeValue(0);
language.setId(id);
} else if ("name".equals(name)) {
language.setName(pullParser.nextText());
} else if ("ide".equals(name)) {
language.setIde(pullParser.nextText());
}
break;
case XmlPullParser.END_TAG:
if ("item".equals(name)) {
languageList.add(language);
}
break;
default:
break;
}
type=pullParser.next();
}
} catch (XmlPullParserException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}