加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml解析(一) XmlPullParser的使用

发布时间:2020-12-15 23:01:27 所属栏目:百科 来源:网络整理
导读:XmlPullParser是android自带的xml解析器 public static ArrayListTvUrl getChannelsData(InputStream is) {ArrayListTvUrl list = null;TvUrl tvurl = null;XmlPullParserFactory pullFactory;try {pullFactory = XmlPullParserFactory.newInstance();XmlPul

XmlPullParser是android自带的xml解析器

public static ArrayList<TvUrl> getChannelsData(InputStream is) {
		ArrayList<TvUrl> list = null;
		TvUrl tvurl = null;
		XmlPullParserFactory pullFactory;
		try {
			pullFactory = XmlPullParserFactory.newInstance();
			XmlPullParser xmlPullParser = pullFactory.newPullParser();
			if(is == null)
			{
				return null;
			}
			xmlPullParser.setInput(is,"UTF-8");
			int eventType = xmlPullParser.getEventType();
			while (eventType != XmlPullParser.END_DOCUMENT) {
				String tagName = xmlPullParser.getName();
				switch (eventType) {
				case XmlPullParser.START_DOCUMENT:
					list =  new ArrayList<TvUrl>();
					break;
				case XmlPullParser.START_TAG:
					if("tv".equals(tagName))
					{
						tvurl = new TvUrl();
					}
					else if ("channelid".equals(tagName)) {
						tvurl.setid(xmlPullParser.nextText());
//						Log.i(tvurl.getid());
					}
					else if("name".equals(tagName))
					{
						tvurl.setName(xmlPullParser.nextText());
//						Log.i(tvurl.getName());
					}
					else if("url".equals(tagName))
					{
						String str = xmlPullParser.nextText();
						tvurl.AddUrl(str);
//						Log.i(str);
					}
					break;
				case XmlPullParser.END_TAG:
					if ("tv".equals(tagName) && tvurl != null) {
						list.add(tvurl);
					}
					break;
				default:
					break;
				}
				eventType = xmlPullParser.next();
			}

		} catch (XmlPullParserException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return list;
	}


xmlPullParser.nextText() 是解析xml某个标签的值。

xmlPullParser.getAttributeValue(0) 是解析xml某个标签下中属性值,0代表位置为0的属性

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读