cookbook第一章:读取XML文件

首先是xml数据格式

<cook>
    <name>枸杞肉丝</name>
    <type>全部</type>
    <feature>滋阴补肾。适于体弱乏力、肾虚目眩、视觉模糊等症。</feature>
    <material>枸杞、瘦猪肉青笋调料:精盐、白糖、味精、料酒、酱油、淀粉、猪油、麻油</material>
    <production>1、将猪肉洗净去筋,切成2寸长的丝;青笋切成同样的丝;枸杞洗净。2、炒锅上火,将猪油烧热,再将肉丝、笋丝同时下锅炒散,下料酒、白糖、酱油、盐、味精搅匀,投入枸杞,翻炒几下,淋麻油即成。</production>
</cook>

然后我们要新建一个类用来存放我们读取到的数据

package com.example.cookbook.data;

import java.io.Serializable;

public class CBInfo implements Serializable {
	private String name;
	private String type;
	private String feature;
	private String material;
	private String production;
	private String isCollected;
	public String getName()
	{
		return name;
	}
	public void setName(String name)
	{
		this.name=name;
	}
	public String getType()
	{
		return type;
	}
	public void setType(String type)
	{
		this.type=type;
	}
	public String getFeature()
	{
		return feature;
	}
	public void setFeature(String feature)
	{
		this.feature=feature;
	}
	public String getMaterial()
	{
		return material;
	}
	public void setMaterial(String material)
	{
		this.material=material;
	}
	public String getProduction()
	{
		return production;
	}
	public void setProduction(String production)
	{
		this.production=production;
	}
	public String isCollected()
	{
		return isCollected;
	}
	public void setCollected(String isCollected)
	{
		this.isCollected=isCollected;
	}

}
接下来我们要从新建一个类用来读取xml文件

package com.example.cookbook.data;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

import org.xmlpull.v1.XmlPullParser;

import com.example.cookbook.R;
import android.content.Context;
import android.content.res.AssetManager;
import android.content.res.Resources;
import android.util.Xml;

public class CBInfoRead {
	private Context context;
	public CBInfoRead (Context context) 
	{
		this.context=context;
	}
	public List<CBInfo> getAllCooks() throws Throwable 
	{
		AssetManager am=null;
		am=context.getAssets();
		InputStream ins=am.open("cookbook.xml");	
		List<CBInfo> cooks=new ArrayList<CBInfo>();
		CBInfo info=null;
		XmlPullParser parser=Xml.newPullParser();
		parser.setInput(ins,"utf-8");
		int xmltype=parser.getEventType();
		while(xmltype!=XmlPullParser.END_DOCUMENT)
		{
			switch(xmltype)
			{
		
			case XmlPullParser.START_TAG:
				String name=parser.getName();
				if("cook".equals(name))
				{
				     info=new CBInfo();
				}
				else if("name".equals(name))
				{
					info.setName(parser.nextText());
				}
				else if("type".equals(name))
				{
					info.setType(parser.nextText());
				}
				else if("feature".equals(name))
				{
					info.setFeature(parser.nextText());
				}
				else if("material".equals(name))
				{
					info.setMaterial(parser.nextText());
				}
				else if("production".equals(name))
				{
					info.setProduction(parser.nextText());
				}
				break;
			case XmlPullParser.END_TAG:
				if("cook".equals(parser.getName()))
				{
					cooks.add(info);
				}
				break;
			default:break;
			   
			}
			xmltype=parser.next();
		}
		
		return cooks;
	}
	
	
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值