android 获取本地xml文件
来源:互联网 发布:国内开会软件 编辑:程序博客网 时间:2024/06/03 15:35
获取XML文件的基本思路是,通过getResources().getXml()获的XML原始文件,得到XmlResourceParser对象,通过该对象来判断是文档的开头还是结尾,是某个标签的开始还是结尾,并通过一些获取属性的方法来遍历XML文件,从而访问XML文件的内容,下面是一个访问XML文件内容的例子,并将内容更显示在一个TextView上
ReadXMLTest.Java
import java.io.IOException; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import android.app.Activity; import android.content.res.Resources; import android.content.res.XmlResourceParser; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; import org.hualang.readxml.R; public class ReadXMLTest extends Activity { private TextView myTextView; private Button myButton; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); myTextView = (TextView)findViewById(R.id.text); myButton = (Button)findViewById(R.id.button); //设置按钮监听器 myButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //设置计数 int counter = 0; //实例化StringBuilder StringBuilder sb = new StringBuilder(""); //得到Resources资源 Resources r = getResources(); //通过Resources,获得XmlResourceParser实例 XmlResourceParser xrp = r.getXml(R.xml.test); try { //如果没有到文件尾继续执行 while (xrp.getEventType() != XmlResourceParser.END_DOCUMENT) { //如果是开始标签 if (xrp.getEventType() == XmlResourceParser.START_TAG) { //获取标签名称 String name = xrp.getName(); //判断标签名称是否等于friend if(name.equals("friend")){ 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(xrp.getAttributeValue(3)+"\n\n"); } } else if (xrp.getEventType() == XmlPullParser.END_TAG) { } else if (xrp.getEventType() == XmlPullParser.TEXT) { } //下一个标签 xrp.next(); } myTextView.setText(sb.toString()); } catch (XmlPullParserException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }); } }
main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <Button android:id="@+id/button" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="读取XML文件内容" /> <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" /> </LinearLayout>
res/xml目录下的test.xml文件
<?xml version="1.0" encoding="utf-8"?> <resources> <friend name="xiaoming" age="22" gender="male" email="xiaoming@qq.com"/> <friend name="xiaowang" age="21" gender="female" email="1234567@qq.com"/> </resources>
阅读全文
0 0
- android 获取本地xml文件
- android xml文件到本地
- Android解析本地服务器的XML文件
- php获取本地图片文件并生成xml文件输出
- android解析xml和json数据(获取本地服务器数据)
- Android 获取sdcard 中xml文件 解析
- Android手机如何获取power_profile.xml文件
- Android解析xml文件获取数据练习
- Android 从xml 文件中获取资源
- android 获取apk里的xml文件
- Android退出应用获取本地SharedPreferences存储文件
- Android向本地写入一个XML文件和解析XML文件
- Android获取本地通话记录
- android获取本地版本号
- Android获取本地图片
- [JavaScript] 本地创建XML文件
- HttpService读取本地XML文件
- JavaScript读取本地XML文件
- 字符流中第一个不重复的字符(Java实现)
- Mybatis最入门---动态查询(choose,when,otherwise)
- JVM中volatile
- 解决jQuery和Zepto冲突问题
- /bin/sh^M:损坏的解释器: 没有那个文件或目录
- android 获取本地xml文件
- Mysql 导入数据慢的解决方法
- 在 CentOS 7 中使用 Nginx 和 PHP7-FPM 安装 Nextcloud
- 高并发高负载系统架构-php篇
- IE6兼容性问题及IE6常见bug详细汇总
- 重复点击工具类
- Caffe——训练和测试自己的图片
- 什么是HIS、PACS、LIS、RIS
- 集合-Map