<shangpings>
<shangping >
<name>商品一</name>
<price>20</price>
<path>mnt/sdcard/a.jpg</path>
</shangping>
<shangping >
<name>商品二</name>
<price>24</price>
<path>mnt/sdcard/b.jpg</path>
</shangping>
<shangping >
<name>商品三</name>
<price>30</price>
<path>mnt/sdcard/c.jpg</path>
</shangping>
</shangpings>
public void pullXml(){
//得到解析对象
XmlPullParser pullParser = Xml.newPullParser();
File file=new File("mnt/sdcard/shangping.xml");
try {
FileInputStream fis=new FileInputStream(file);
pullParser.setInput(fis, "utf-8");
//得到解析的事件
int eventType = pullParser.getEventType();
//如果不到文档的结束,就一直解析
while(eventType!=XmlPullParser.END_DOCUMENT)
{
//标签的名字
String tagName = pullParser.getName();
switch (eventType) {
case XmlPullParser.START_TAG: //开始的标签
if(tagName.equals("shangpings")){
list = new ArrayList<Shop>();
}else if(tagName.equals("shangping"))
{
shop = new Shop();
}else if(tagName.equals("name"))
{
shop.setName(pullParser.nextText());
}else if(tagName.equals("price"))
{
shop.setPrice(pullParser.nextText());
}else if(tagName.equals("path"))
{
shop.setImg(pullParser.nextText());
}
break;
case XmlPullParser.END_TAG: //结束标签
if(tagName.equals("shangping")){
dao.add(shop.getImg(), shop.getName(), shop.getPrice());
shop=null;
}
break;
}
eventType = pullParser.next();
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//如果商品标签后有子属性
shangping.setId(Integer.parseInt(pullParser.getAttributeValue(0)));