xml解析代码如下:
其中New是一个javabean类,有name,age,password等属性
public class XmlParseUtils
{
public static List<New> parseXml(InputStream in) throws XmlPullParserException, IOException
{
List<New> list = null;
New news = null;
XmlPullParser xpp = Xml.newPullParser();
xpp.setInput(in, "utf-8");
int type = xpp.getEventType();
while (type != XmlPullParser.END_DOCUMENT)
{
switch (type)
{
//读到开始标签
case XmlPullParser.START_TAG:
if (xpp.getName().equals("channel"))
list = new ArrayList<New>();
else if (xpp.getName().equals("item"))
news = new New();
else if (xpp.getName().equals("name"))
news.setName(xpp.nextText());
else if (xpp.getName().equals("age"))
news.setAge(Integer.parseInt(xpp.nextText()));
else if (xpp.getName().equals("password"))
news.setPassword(xpp.nextText());
break;
//读到结束标签
case XmlPullParser.END_TAG:
//读到item结束标签时,可把一个bean加入到list中
if (xpp.getName().equals("item"))
list.add(news);
break;
}
//读取下一行
type = xpp.next();
}
return list;
}
}
解析的xml文件如下:
<?xml version="1.0" encoding="utf-8"?>
<channel>
<item>
<name>breeze</name>
<age>23</age>
<password>abcde</password>
</item>
<item>
<name>belinda</name>
<age>22</age>
<password>abcde</password>
</item>
</channel>