try {
//1、创建解析工厂
XmlPullParserFactory factory=XmlPullParserFactory.newInstance();
//2、创建解析器
XmlPullParser parser=factory.newPullParser();
//3、设置解析的数据源
parser.setInput(getAssets().open("Movies.xml"),"UTF-8");
//4、开始解析
int event=parser.getEventType();
HashMap<String,String> map=null;
while (event!=XmlPullParser.END_DOCUMENT)
{
switch (event)
{
case XmlPullParser.START_TAG://开始标签事件
String nodeName=parser.getName();
switch (nodeName)
{
case "Movie":
map=new HashMap<>();
for (int i=0;i<parser.getAttributeCount();i++)
{
map.put(parser.getAttributeName(i),parser.getAttributeValue(i));
}
break;
case "name":
case "intro":
case "price":
map.put(nodeName,parser.nextText());
break;
}
break;
case XmlPullParser.END_TAG://结束标签
if(parser.getName().equals("Movie"))
{
list2.add(map);
map=null;
}
break;
}
event=parser.next();//下一个事件
}
adapter2.notifyDataSetChanged();//通知刷新
} catch (XmlPullParserException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
================================================================
XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<Movies>
<Movie id="1" time="2015-11-11">
<name>那些年,我们追过的女孩</name>
<price>66.6</price>
<intro>主要是怀念我们的青春,很不错的电影</intro>
</Movie>
<Movie id="7" time="2016-1-1">
<name>那些年,我</name>
<price>0.9</price>
<intro>主要是记录我们在的奋斗历程,很不错的励志神片</intro>
</Movie>
<Movie id="3" time="2015-11-30">
<name>那些年,我们追过的男孩</name>
<price>96.6</price>
<intro>主要是回忆曾经的岁月</intro>
</Movie>
<Movie id="5" time="2015-10-1">
<name>绣花鞋</name>
<price>16.6</price>
<intro>主要是惊恐片,胆小者勿看……</intro>
</Movie>
<Movie id="2" time="2014-11-11">
<name>东成西就</name>
<price>6.6</price>
<intro>搞笑大片,不容错过……</intro>
</Movie>
</Movies>
网友评论