task sax解析

	private ProgressDialog  progressDialog;
	private Handler handler = new Handler();
	Runnable runnableUi = new Runnable() {
		@Override
		public void run() {
			// 更新界面
			progressDialog = ProgressDialog.show(AlarmDimActivity.this, null,"正在加载信息,请稍后...", true, true);
			try {
				path=URLUtil.FIND_ERR_NUMBER; 
				new QueryErrNumber().execute(path);
			} catch (Exception e) {
			}
			handler.postDelayed(runnableUi, 1000*900);
		}

	};

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.alarmdim);
		UI();
		Event();
		handler.post(runnableUi);
	}
 
 
	class QueryWNetErr extends AsyncTask<String, Void, List<HingErrWaringDao>> {
		@Override
		protected void onPostExecute(final List<HingErrWaringDao> hingErrWaringDaos) {
			super.onPostExecute(hingErrWaringDaos);
			progressDialog.dismiss();
			if (null == hingErrWaringDaos || hingErrWaringDaos.size() == 0) {
				Toast toast = Toast.makeText(getApplicationContext(),
						"暂无WCDMA性能数据!", Toast.LENGTH_SHORT);
				toast.setGravity(Gravity.CENTER, 0, 0);
				toast.show();
				return;
			}

			contentDefileList = new ArrayList<Map<String, String>>();
			Map<String, String> contentDefile;
			for (HingErrWaringDao hingErrWaringDao : hingErrWaringDaos) {
				contentDefile = new HashMap<String, String>();
				if ("CRITICAL".equals(hingErrWaringDao.getStr_org_severity())){
					contentDefile.put(TITLE, hingErrWaringDao.getTitle());
					contentDefile.put(ALARM_NODE, hingErrWaringDao.getAlarm_node());
					contentDefile.put(ALARM_TEXT0, hingErrWaringDao.getAlarm_text0());
					contentDefile.put(ALARM_TEXT1, hingErrWaringDao.getAlarm_text1());
					contentDefile.put(OCCUR_TIME, hingErrWaringDao.getOccur_time());
					contentDefile.put(STR_ORG_SEVERITY, hingErrWaringDao.getStr_org_severity());
					contentDefileList.add(contentDefile);
				}
			}
			isCurrentItems = new boolean[contentDefileList.size()];
			for (int i = 0; i < isCurrentItems.length; i++) {
				isCurrentItems[i] = false;
			}
			adapter = new FlexListAdapter();
			setListAdapter(adapter);

		}

		@Override
		protected List<HingErrWaringDao> doInBackground(String... params) {
			List<HingErrWaringDao> otherposition = null;
			try {
				URL url = new URL(params[0]);
				HttpURLConnection conn = (HttpURLConnection) url
						.openConnection();
				conn.setRequestMethod("GET");
				conn.setConnectTimeout(URLUtil.CONNECT_TIME * 1000);
				conn.setReadTimeout(URLUtil.CONNECT_TIME * 1000);
				conn.connect();
				InputStream inStream = conn.getInputStream();
				Log.e("userSen", inStream.toString());
				otherposition = new HingErrWaringService()
				.getWNetErr(inStream);
				inStream.close();
				conn.disconnect();

			} catch (Exception e) {
				e.printStackTrace();
			}
			return otherposition;
		}

	}

	




package com.easecom.zhwg.ctrl.scene.rail.warning;

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 com.easecom.zhwg.ctrl.scene.propertiesview.WCDMAViewDao;

public class HingErrWaringService {
	public List<HingErrWaringDao> getWNetErr(InputStream inStream)
			throws Exception {
		SAXParserFactory factory = SAXParserFactory.newInstance();
		SAXParser parser = factory.newSAXParser();
		NoteReportHandler handler = new NoteReportHandler();
		parser.parse(inStream, handler);
		return handler.getUserReports();
	}

	private final class NoteReportHandler extends DefaultHandler {
		private List<HingErrWaringDao> hingErrWaringDaos;
		private HingErrWaringDao hingErrWaringDao = null;
		private String tag = null;

		public List<HingErrWaringDao> getUserReports() {
			return hingErrWaringDaos;
		}

		@Override
		public void startDocument() throws SAXException {
			hingErrWaringDaos = new ArrayList<HingErrWaringDao>();
		}

		@Override
		public void startElement(String uri, String localName, String qName,
				Attributes attributes) throws SAXException {
			if ("resultInfo".equals(qName)) {
				hingErrWaringDao = new HingErrWaringDao();
			}
			tag = qName;
		}

		@Override
		public void characters(char[] ch, int start, int length)
				throws SAXException {
			if (tag != null) {
				String data = new String(ch, start, length);
				if ("TITLE".equals(tag)) {
					hingErrWaringDao.setTitle(data);
//					Log.e("user time ", "date = " + data);
				} else if ("ALARM_NODE".equals(tag)) {
					hingErrWaringDao.setAlarm_node(data);
				} else if ("ALARM_TEXT0".equals(tag)) {
					hingErrWaringDao.setAlarm_text0(data);
				} else if ("ALARM_TEXT1".equals(tag)) {
					hingErrWaringDao.setAlarm_text1(data);
				} else if ("OCCUR_TIME".equals(tag)) {
					hingErrWaringDao.setOccur_time(data);
				} else if ("STR_ORG_SEVERITY".equals(tag)) {
					hingErrWaringDao.setStr_org_severity(data);
				} 
			}
		}

		@Override
		public void endElement(String uri, String localName, String qName)
				throws SAXException {
			if ("resultInfo".equals(qName)) {
				hingErrWaringDaos.add(hingErrWaringDao);
				hingErrWaringDao = null;
			}
			tag = null;
		}

	}
}

 
 
 
 
package com.easecom.zhwg.ctrl.scene.rail.warning;

public class HingErrWaringDao {
	// 标题
	private String title;
	private String alarm_node;
	private String alarm_text0;
	private String alarm_text1;
	// 发生时间
	private String occur_time;
	// 告警类别
	private String str_org_severity;

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public String getAlarm_node() {
		return alarm_node;
	}

	public void setAlarm_node(String alarm_node) {
		this.alarm_node = alarm_node;
	}

	public String getAlarm_text0() {
		return alarm_text0;
	}

	public void setAlarm_text0(String alarm_text0) {
		this.alarm_text0 = alarm_text0;
	}

	public String getAlarm_text1() {
		return alarm_text1;
	}

	public void setAlarm_text1(String alarm_text1) {
		this.alarm_text1 = alarm_text1;
	}

	public String getOccur_time() {
		return occur_time;
	}

	public void setOccur_time(String occur_time) {
		this.occur_time = occur_time;
	}

	public String getStr_org_severity() {
		return str_org_severity;
	}

	public void setStr_org_severity(String str_org_severity) {
		this.str_org_severity = str_org_severity;
	}

}

 

你可能感兴趣的:(task)