使用XmlResourceParser轻松获取简单xml节点属性
一.概述:作为一种可扩展标记语言, XML以其较强的互操作性,可扩展性和规范统一性等优点,得到广泛的应用,也是各种应用程序之间进行数据传输的最常用的工具。 二.XML文件特性: XML 是可扩展标记语言(Extensible Markup Language)的缩写,其中的标记(markup)是关键部分。 您可以创建内容,然后使用限定标记标记它,从而使每个单词、短语或块成为可识别、可分类的信息,结构清晰,看上去比较明了 比如: 由上面的xml结构可以看出,xml由英文单词命名的节点,子节点及其对应的元素构成,结构简单, 可以把第一行当作它扎根的“土地”。XML文件是由节点构成的。它的第一个节点为“根节点”。一个XML文件必须有且只能有一个根节点,其他节点都必须是它的子节点 每个子节点又可以有自己的子节点。节点编号由0开始, 三.获取xml文件节点属性: 今天要看的xml文件: <PA>
简单了解了xml文件的结构后,我们可以很清楚的看明白这个xml文件。上面这个xml文件的根节点和子节点很清楚,接下来开始解析这个文件,取得我们想要的内容 首先。我把这个文件存放在工程下面..res/xml文件夹下的r1.xml, 拿到这个xml文件 //1.得到Resources资源
//2.在获取节点属性前,加一个判断,判断文章的尅是和结束 //如果没有到文件尾继续执行 //如果是开始标签 if (xrp.getEventType() == XmlResourceParser.START_TAG) { //获取标签名称 String name = xrp.getName(); //判断标签名称是否等于Site if(name.equals("Site")){ counter++; //获得标签属性追加到StringBuilder中 sb.append("第:"+counter+"条信息:"+"n"); sb.append("顺序:"+xrp.getAttributeValue(0)+"n"); sb.append("名字:"+xrp.getAttributeValue(1)+"n"); sb.append("端口号:"+xrp.getAttributeValue(2)+"n"); sb.append("Ip地址:"+xrp.getAttributeValue(3)+"n"); sb.append("模拟机地址:"+xrp.getAttributeValue(4)+"n"); sb.append("BR:"+xrp.getAttributeValue(5)+"nn"); list.add(sb); } } else if (xrp.getEventType() == XmlPullParser.END_TAG) { } else if (xrp.getEventType() == XmlPullParser.TEXT) { } //下一个标签 xrp.next(); }
//3.运行结果:
上面经过简单的几步就取到我们想要的节点属性值, 在安卓的学习和开发过程中,不可避免会遇到过很多麻烦和难题,每次都是网上求救,众多前辈的博客给了我很大帮助和启发, 希望写下自己的笔记,和大家分享,如有纰漏之处,还请各位不吝赐教! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |