Android中写入读取XML
获取XML文件的基本思路是,通过getResources().getXml()获的XML原始文件,得到XmlResourceParser对象,通过该对象来判断是文档的开头还是结尾,是某个标签的开始还是结尾,并通过一些获取属性的方法来遍历XML文件,从而访问XML文件的内容,下面是一个访问XML文件内容的例子,并将内容更显示在一个TextView上
数据写入xml:
ReadXMLTest.java
- //xml数据生成
- private String WriteToString() {
- XmlSerializer serializer = Xml.newSerializer();
- StringWriter writer = new StringWriter();
- try {
- serializer.setOutput(writer);
- serializer.startDocument("utf-8", true);
- serializer.startTag("", "users");
- serializer.startTag("", "userName");
- serializer.text(txtUser.getText().toString());
- serializer.endTag("", "userName");
- serializer.startTag("", "userEmail");
- serializer.text(txtEmail.getText().toString());
- serializer.endTag("", "userEmail");
- serializer.startTag("", "passWord");
- serializer.text(txtPass.getText().toString());
- serializer.endTag("", "passWord");
- serializer.endTag("", "users");
- serializer.endDocument();
- } catch (IllegalArgumentException e) {
- // TODO: handle exception
- e.printStackTrace();
- } catch (IllegalStateException e) {
- // TODO: handle exception
- e.printStackTrace();
- } catch (IOException e) {
- // TODO: handle exception
- e.printStackTrace();
- }
- return writer.toString();
- }
- //将字符串保存为apk的私有文件
- private boolean writeToXml(String str) {
- try {
- OutputStream out = openFileOutput("users.xml",MODE_PRIVATE);
- OutputStreamWriter outWriter = new OutputStreamWriter(out);
- try {
- outWriter.write(str);
- outWriter.close();
- out.close();
- return true;
- } catch (IOException e) {
- // TODO: handle exception
- return false;
- }
- } catch (Exception e) {
- // TODO: handle exception
- return false;
- }
- }
调用时:
if(writeToXml(WriteToString()))
{
//成功
}
数据读取 xml:
- //tag ,存入的节点名
- private String ReadXmlUser(String tag)
- {
- String re="";
- DocumentBuilderFactory documentBuilderFactory;
- DocumentBuilder documentBuilder;
- Document document;
- try {
- documentBuilderFactory=DocumentBuilderFactory.newInstance();
- documentBuilder=documentBuilderFactory.newDocumentBuilder();
- //xml文件放到assets目录下
- document=documentBuilder.parse(this.openFileInput("users.xml"));
- org.w3c.dom.Element root= document.getDocumentElement();
- NodeList nodeList=root.getElementsByTagName(tag);
- Node nd=nodeList.item(0);
- re= nd.getFirstChild().getNodeValue();
- } catch (Exception e) {
- // TODO: handle exception
- e.printStackTrace();
- }finally{
- document=null;
- documentBuilder=null;
- documentBuilderFactory=null;
- }
- return re;
- }
Android中写入读取XML的更多相关文章
- unity Android 打包后读取 xml 文件
原地址:http://www.cnblogs.com/wuzhang/p/wuzhang20140731.html 问题: 前天在做东西的过程中发现了一个让人很纠结的问题,为什么Unity 程序 ...
- android中通过自定义xml实现你需要的shape效果 xml属性配置
在Android开发过程中,经常需要改变控件的默认样式, 那么通常会使用多个图片来解决.不过这种方式可能需要多个图片,比如一个按钮,需要点击时的式样图片,默认的式样图片,然后在写一个selector的 ...
- Android中pull解析XML文件的简单使用
首先,android中解析XML文件有三种方式,dom,sax,pull 这里先讲pull,稍候会说SAX和DOM pull是一种事件驱动的xml解析方式,不需要解析整个文档,返回的值是数值型,是推荐 ...
- android中SharedPreferences 读取不到数据的问题
在两个不同的 Activity中,A中SharedPreferences保存了数据,在A中可以读取到,但是在 B中却读取不到了,一直是空值,好是不爽,由于是按照书本上的例子写的, 怎么也找不到原因,后 ...
- Asp.Net写入读取Xml(处理文件权限)
1,网上关于读取写入Xml的博客比较多,参考了发现提到Xml文件权限的博客比较少.因为在开发中我发现,如果文件存于一些没有权限的路径,代码是访问不到该文件,页面会报错提示403,Forbidden.意 ...
- Winform中实现读取xml配置文件并动态配置ZedGraph的RadioGroup的选项
场景 Winform中对ZedGraph的RadioGroup进行数据源绑定,即通过代码添加选项: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/ ...
- ANDROID中获取STRING.XML,DIMENS.XML等资源文件中的值
一:是为了国际化,当需要国际化时,只需要再提供一个string.xml文件,把里面的汉子信息都修改为对应的语言(如,English),再运行程序时,android操作系统会根据用户手机的语言环境和国家 ...
- asp.net写入读取xml的方法
添加命名空间 using System.Xml; 我自己的代码(添加其中的节点) XmlDocument xmlDoc = new XmlDocument();xmlDoc.Load(Server.M ...
- android开发:Android 中自定义属性(attr.xml,TypedArray)的使用
今天我们的教程是根据前面一节扩展进行的,如果你没有看,请点击 Android高手进阶教程(三)查看第三课,这样跟容易方便你的理解! 在xml 文件里定义控件的属性,我们已经习惯了android:att ...
随机推荐
- SpringMVC、Zookeeper、Dubbo使用
联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,Dubbo是一个分布式服务框架,在这种情况下诞生的.现在核心业务抽取出来,作为独立的服务,使前 ...
- c# 实现文件拖入和拖出(拖拽)
摘自:http://www.cnblogs.com/eaglet/archive/2009/01/06/1370149.html C# WinForm下一步一步实现文件的拖入和拖出 作者:Eaglet ...
- css实现居中的各种方法
css垂直居中有很多种方法,可以参考下这个网站
- 移动web app开发框架
文章地址:http://www.cnblogs.com/soulaz/p/5586787.html jQuery Mobile jQuery Mobile框架能够帮助你快速开发出支持多种移动设备的Mo ...
- POJ 3009 深度优先搜索
问题:打冰球.冰球可以往上下左右4个方向走,只有当冰球撞到墙时才会停下来,而墙会消失.当冰球紧贴墙时,不能将冰球往那个方向打.冰球出界就当输,超过10次还没将冰球打到目标位置也当输.求用最小次数将冰球 ...
- sicily 1035. DNA matching
题意:判断基因链是否匹配,匹配的双链数加1,并要标记,下次比较不能重用! 解法: 打擂台法 #include<iostream> #include<string> #inclu ...
- Shell脚本常用命令简介
格式化日期yyyy-mm-dd hh:mm:ss显示 date "+%Y-%m-%d %H:%M:%S" 将内容写入到新文件 echo "hello">a ...
- ACdream 1417 Numbers
pid=1417">题目链接~~> 做题感悟:比赛的时候用的广搜,然后高高兴兴的写完果断TLE .做题的时候不管什么题都要用笔画一下,模拟几组数据,这样或许就AC了(做题经验,有 ...
- com.microsoft.sqlserver.jdbc.SQLServerException: 结果集没有当前行
參考博客com.microsoft.sqlserver.jdbc.SQLServerException: 结果集没有当前行 java获取结果集,if(rs!=null).和while(rs.next( ...
- 自定义ImageView实现图片手势滑动,多点触摸放大缩小效果
首先呢,还是一贯作风,我们先来看看众多应用中的示例:(这种效果是很常见的,可以说应用的必须品.) 搜狐客户端 ...