cookbook第一章:读取XML文件

前端之家收集整理的这篇文章主要介绍了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;
	}
	
	
}
原文链接:https://www.f2er.com/xml/299368.html

猜你在找的XML相关文章