//解析文件
<?xml version="1.0" encoding="utf-8"?>
<Languages categroy="it" >
<item id="1">
<name>Android</name>
<ide>Android Studio </ide>
</item>
<item id="2">
<name>IOS</name>
<ide>XCode</ide>
</item>
</Languages>
//布局文件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>
//MainActivity
package com.example.pull;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import org.xmlpull.v1.XmlPullParserFactory;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.TextView;
public class MainActivity extends Activity {
ArrayList<Word> list = null;
Word words = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 找到控件
TextView tv_name = (TextView) findViewById(R.id.tv_name);
// 找到工厂
try {
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
XmlPullParser parser = factory.newPullParser();
parser.setInput(getAssets().open("languagess.xml"), "UTF-8");
int eventType = parser.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
String name = parser.getName();
switch (eventType) {
case XmlPullParser.START_DOCUMENT:
list = new ArrayList<Word>();
break;
case XmlPullParser.START_TAG:
if (name.equals("item")) {
words = new Word();
} else if (name.equals("name")) {
words.setName(parser.nextText());
} else if (name.equals("ide")) {
words.setIde(parser.nextText());
}
break;
case XmlPullParser.END_TAG:
if (name.equals("item")) {
list.add(words);
}
break;
default:
break;
}
eventType = parser.next();
}
for (Word word2 : list) {
tv_name.append(word2.toString() + "\n");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
//Bean包
package com.example.pull;
public class Word {
private String name;
private String ide;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getIde() {
return ide;
}
public void setIde(String ide) {
this.ide = ide;
}
public Word(String name, String ide) {
super();
this.name = name;
this.ide = ide;
}
public Word() {
super();
}
@Override
public String toString() {
return "Word [name=" + name + ", ide=" + ide + "]";
}
}