- 1.Xml解析方法有DOM,SAX,DOM4J,PULL解析等方式,PULL解析是Android中为我们提供的XML解析方式
- 2.获取解析器工厂对象:
XmlPullParserFactory factory=XmlPullParserFactory.newInstance();
- 获取解析器对象:
XmlPullParser xpp=factory.newPullParser();
XmlPullParser接口的常量及方法:
START_DOCUMENT:该常量用来标识开始解析文档的事件。
END_DOCMENT:文档结束
START_TAG:元素开始
END_TAG:元素结束
COMMENT:注释
TEXT:内容
nextTag():读取下一个标记
getEventType():取得事件类型
getText():取得内容
getName():取得元素名称3.实现代码:
public class PullXmlUtil {
private InputStream is;
public PullXmlUtil(InputStream is){
this.is=is;
}
public List getAllElement() throws XmlPullParserException, IOException {
List myData=null;
XmlPullParserFactory factory=XmlPullParserFactory.newInstance();
XmlPullParser xpp=factory.newPullParser();
xpp.setInput(is,"UTF-8");
int eventType=xpp.getEventType();
String elementName="";
while(eventType!=XmlPullParser.END_DOCUMENT){
switch (eventType){
case XmlPullParser.START_DOCUMENT:
myData=new ArrayList();
break;
case XmlPullParser.START_TAG:
elementName=xpp.getName();
break;
case XmlPullParser.TEXT:
if(elementName.equals("string"))
myData.add(xpp.getText());
break;
case XmlPullParser.END_TAG:
break;
}
eventType=xpp.next();
}
return myData;
}
}
- 使用时直接传InputStream实例化一个对象,然后再调用其方法即可