Android中使用Xml内置解析器pull来解析Xml原始资源
2015-06-21 11:51
585 查看
在Android中解析Xml资源文件很常见。Android为我们内置了一个叫做Pull的Xml资源解析器,它可以帮助我们轻松解析Xml资源文件,下面我就跟大家来分享下Pull解析器对Xml文件的解析步骤。
1.因为在Android项目的res/目录下系统没有为我们自动创建xml文件夹,所以需要我们手动创建一个名称为 “xml”的文件夹。
2.在创建好的xml文件夹下(/res/xml/)创建一个标准的xml文件即可。
3.在Java程序代码中(MainActivity),我们可以使用Activity的资源管理类--Resources,通过它的getXml(int id)来获取xml文件。
4.getXml(int id)方法会为我们返回一个XmlResourceParser的对象。使用该对象我们就可以对xml文件进行解析了。
5.一般情况下,我们会使用XmlResourcesParser对象的getEventType来判断执行事件,通过它来循环执行Xml文件直至解析结束。
6.在Xml解析过程中,可以使用XmlResourcesParser对象的getAttributeValue(String namespace,String attributeName)来获取属性值。通过nextText()来获取文本节点值。
7.在解析过程中,当解析完一个标签后,调用XmlResourcesParser的next()方法来获取下一个事件,继续执行。
下面是部分代码,仅供参考:
1.xml资源文件
<?xml version="1.0" encoding="utf-8"?>
<students>
<student id="1" age="20">小红</student>
<student id="2" age="21">小王</student>
</students>
2.Xml解析过程代码
StringBuilder builder = new StringBuilder();
//1.获取XML资源
XmlResourceParser parser = MainActivity.this.getResources().getXml(R.xml.student);
//2.判断是否解析完
while(parser.getEventType() != XmlResourceParser.END_DOCUMENT){
//3.判断是否为开始标签
if(parser.getEventType() == XmlResourceParser.START_TAG){
//4.获取标签签名
String tag = parser.getName();
if(tag.equals("book")){
//获取属性值
String id = parser.getAttributeValue(null,"id");
builder.append("学生编号:").append(id);
String age = parser.getAttributeValue(null, "age");
builder.append("学生年龄:").append(age);
//获取文本节点值
String name = parser.nextText();
builder.append("学生姓名:").append(name);
}
}
parser.next();//获取解析器的下一个事件
}
1.因为在Android项目的res/目录下系统没有为我们自动创建xml文件夹,所以需要我们手动创建一个名称为 “xml”的文件夹。
2.在创建好的xml文件夹下(/res/xml/)创建一个标准的xml文件即可。
3.在Java程序代码中(MainActivity),我们可以使用Activity的资源管理类--Resources,通过它的getXml(int id)来获取xml文件。
4.getXml(int id)方法会为我们返回一个XmlResourceParser的对象。使用该对象我们就可以对xml文件进行解析了。
5.一般情况下,我们会使用XmlResourcesParser对象的getEventType来判断执行事件,通过它来循环执行Xml文件直至解析结束。
6.在Xml解析过程中,可以使用XmlResourcesParser对象的getAttributeValue(String namespace,String attributeName)来获取属性值。通过nextText()来获取文本节点值。
7.在解析过程中,当解析完一个标签后,调用XmlResourcesParser的next()方法来获取下一个事件,继续执行。
下面是部分代码,仅供参考:
1.xml资源文件
<?xml version="1.0" encoding="utf-8"?>
<students>
<student id="1" age="20">小红</student>
<student id="2" age="21">小王</student>
</students>
2.Xml解析过程代码
StringBuilder builder = new StringBuilder();
//1.获取XML资源
XmlResourceParser parser = MainActivity.this.getResources().getXml(R.xml.student);
//2.判断是否解析完
while(parser.getEventType() != XmlResourceParser.END_DOCUMENT){
//3.判断是否为开始标签
if(parser.getEventType() == XmlResourceParser.START_TAG){
//4.获取标签签名
String tag = parser.getName();
if(tag.equals("book")){
//获取属性值
String id = parser.getAttributeValue(null,"id");
builder.append("学生编号:").append(id);
String age = parser.getAttributeValue(null, "age");
builder.append("学生年龄:").append(age);
//获取文本节点值
String name = parser.nextText();
builder.append("学生姓名:").append(name);
}
}
parser.next();//获取解析器的下一个事件
}
相关文章推荐
- Android NDK之环境配置及HelloJni
- Android常用框架 1-40
- android中填充界面布局的三种方式
- 关于android服务器推送解决方案的学习
- android常用框架 41-74
- Android Studio 插件(二)
- Android Studio 插件(一)
- Android Bundle类别
- Android下用OpenCV3.0库静态链接错误解决方法
- android onInterceptTouchEvent和onTouchEvent
- Android在ExpandableListView控制的基本使用
- Android 中延迟执行的小结
- Android访问数据库(SQL Server 和 MySQL)
- Android数据库SQLite使用详解二 : 学生管理系统的简单实现
- Android基础-实现有道词典实例
- android CountDownTimer
- Android启动画面
- Android Media Playback 中的MediaPlayer的用法及注意事项(一)
- 一步步走进Android MaterialDesign 之 TabLayout
- Android中Fragment使用VideoView会出现只有声音没有图像的问题