xml解析(一) XmlPullParser的使用

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的属性







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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值