首页>代码>android团购源码>/Android团购信息源代码/codefans.net/Tuangou2/Tuangou2/src/com/kang/meituan/tuan_handler.java
package com.kang.meituan;

import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;

import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
import org.xmlpull.v1.XmlPullParser;

import android.util.Xml;

public class tuan_handler
{
	public final static int MEITUAN = 0;
	public final static int LASHOU = 1;
	public final static int FTUAN = 2;
	public final static int NUOMI = 3;

	/**
	 * 通过pull解析器取得团购网站最新团购信息
	 * 
	 * @param input
	 *            团购网站输入流
	 * @param website
	 *            团购网站的名称
	 * @return 团购数据列表
	 * @throws Exception
	 */
	public static List<meituan> getListMeituan(InputStream input, int web)
			throws Exception
	{
		String data = null, website = null, city_name = null, deal_id = null, deal_title = null, deal_url = null, deal_img = null, deal_desc = null, sales_num = null, value = null, price = null, rebate = null, start_time = null, end_time = null, shop_name = null, shop_tel = null, shop_addr = null, shop_area = null;
		boolean isLashou = false;

		List<meituan> meituans = null;
		meituan mei = null;

		switch (web)
		{
		case MEITUAN:
			data = "data";
			website = "website";
			deal_id = "deal_id";
			city_name = "city_name";
			deal_title = "deal_title";
			deal_url = "deal_url";
			deal_img = "deal_img";
			deal_desc = "deal_desc";
			sales_num = "sales_num";
			value = "value";
			price = "price";
			rebate = "rebate";
			start_time = "start_time";
			end_time = "end_time";
			shop_name = "shop_name";
			shop_tel = "shop_tel";
			shop_addr = "shop_addr";
			shop_area = "shop_area";

			break;

		case LASHOU:
		case FTUAN:
		case NUOMI:

			data = "url";
			deal_url = "loc";
			website = "website";
			deal_id = "deal_id";
			city_name = "city";
			deal_title = "title";
			deal_img = "image";
			deal_desc = "deal_desc";
			sales_num = "bought";
			value = "value";
			price = "price";
			rebate = "rebate";
			start_time = "startTime";
			end_time = "endTime";
			shop_name = "name";
			shop_tel = "tel";
			shop_addr = "addr";
			shop_area = "shop_area";

			isLashou = true;

			break;

		}

		XmlPullParser parser = Xml.newPullParser();
		parser.setInput(input, "UTF-8");
		int eventType = parser.getEventType(); // 产生第一个事件

		while (eventType != XmlPullParser.END_DOCUMENT)
		{ // 只要不是文档结束事件
			switch (eventType)
			{
			case XmlPullParser.START_DOCUMENT:
				meituans = new ArrayList<meituan>();
				break;
			case XmlPullParser.START_TAG:
				String name = parser.getName();
				if (data.equals(name))
				{
					mei = new meituan();
				}
				if (null != mei)
				{
					if (website.equals(name))
					{
						mei.setWebsite(parser.nextText());
					}
					if (city_name.equals(name))
					{
						mei.setCity_name(parser.nextText());
					}
					if (deal_id.equals(name))
					{
						mei.setDeal_id(parser.nextText());
					}
					if (deal_title.equals(name))
					{
						mei.setDeal_title(parser.nextText());
					}
					if (deal_url.equals(name))
					{
						mei.setUrl(parser.nextText());
					}
					if (deal_img.equals(name))
					{
						mei.setDeal_img(parser.nextText());
					}
					if (deal_desc.equals(name))
					{
						mei.setDeal_desc(parser.nextText());
					}
					if (value.equals(name))
					{
						mei.setValue(parser.nextText());
					}
					if (price.equals(name))
					{
						mei.setPrice(parser.nextText());
					}
					if (rebate.equals(name))
					{
						mei.setRebate(parser.nextText());
					}
					if (sales_num.equals(name))
					{
						mei.setSales_num(parser.nextText());
					}
					if (start_time.equals(name))
					{
						mei.setStart_time(new Long(parser.nextText()));
					}
					if (end_time.equals(name))
					{
						mei.setEnd_time(new Long(parser.nextText()));
					}
					if (shop_name.equals(name))
					{
						mei.setShop_name(parser.nextText());
					}
					if (shop_tel.equals(name))
					{
						mei.setShop_tel(parser.nextText());
					}
					if (shop_addr.equals(name))
					{
						mei.setShop_addr(parser.nextText());
					}
					if (shop_area.equals(name))
					{
						mei.setShop_area(parser.nextText());
					}

				}

				break;

			case XmlPullParser.END_TAG:

				if (data.equals(parser.getName()))
				{
					if (isLashou)
					{
						String str = mei.getDeal_title();
						mei.setDeal_desc(str);
						mei.setDeal_title(str.substring(0, 30) + "...");

					}

					meituans.add(mei);
					mei = null;

				}

				break;

			}

			eventType = parser.next();

		}
		input.close();

		return meituans;

	}

}
最近下载更多
微信网友_7311917966446592  LV1 2024年12月25日
微信网友_6696093556969472  LV1 2023年10月17日
DJ哦悦TV就藕粉  LV1 2023年5月27日
xiaoheichenglong  LV4 2023年4月4日
xiaopeki  LV1 2022年5月14日
291373020  LV7 2022年4月26日
511076827  LV33 2022年4月10日
张文建  LV1 2021年12月24日
我想要两个西柚  LV2 2021年7月2日
jierui  LV1 2021年6月11日
最近浏览更多
微信网友_7311917966446592  LV1 2024年12月25日
这里的山路十八弯  LV4 2024年7月23日
咩咩咩咩咩  LV2 2024年6月17日
求学的熊猫  LV11 2024年6月3日
happySuperman  LV2 2024年5月29日
微信网友_6797846869299200  LV7 2024年1月1日
学习112  LV2 2023年12月21日
likai12321312 2023年12月18日
暂无贡献等级
tianshi  LV7 2023年10月19日
微信网友_6505997864357888  LV3 2023年6月5日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友