获取XML文件的基本思路是,通过getResources().getXml()获的XML原始文件,得到XmlResourceParser对象,通过该对象来判断是文档的开头还是结尾,是某个标签的开始还是结尾,并通过一些获取属性的方法来遍历XML文件,从而访问XML文件的内容,下面是一个访问XML文件内容的例子,并将内容更显示在一个TextView上

数据写入xml:

ReadXMLTest.java

  1. //xml数据生成
  2. private String WriteToString() {
  3. XmlSerializer serializer = Xml.newSerializer();
  4. StringWriter writer = new StringWriter();
  5. try {
  6. serializer.setOutput(writer);
  7. serializer.startDocument("utf-8", true);
  8. serializer.startTag("", "users");
  9. serializer.startTag("", "userName");
  10. serializer.text(txtUser.getText().toString());
  11. serializer.endTag("", "userName");
  12. serializer.startTag("", "userEmail");
  13. serializer.text(txtEmail.getText().toString());
  14. serializer.endTag("", "userEmail");
  15. serializer.startTag("", "passWord");
  16. serializer.text(txtPass.getText().toString());
  17. serializer.endTag("", "passWord");
  18. serializer.endTag("", "users");
  19. serializer.endDocument();
  20. } catch (IllegalArgumentException e) {
  21. // TODO: handle exception
  22. e.printStackTrace();
  23. } catch (IllegalStateException e) {
  24. // TODO: handle exception
  25. e.printStackTrace();
  26. } catch (IOException e) {
  27. // TODO: handle exception
  28. e.printStackTrace();
  29. }
  30. return writer.toString();
  31. }
  32. //将字符串保存为apk的私有文件
  33. private boolean writeToXml(String str) {
  34. try {
  35. OutputStream out = openFileOutput("users.xml",MODE_PRIVATE);
  36. OutputStreamWriter outWriter = new OutputStreamWriter(out);
  37. try {
  38. outWriter.write(str);
  39. outWriter.close();
  40. out.close();
  41. return true;
  42. } catch (IOException e) {
  43. // TODO: handle exception
  44. return false;
  45. }
  46. } catch (Exception e) {
  47. // TODO: handle exception
  48. return false;
  49. }
  50. }

调用时:

if(writeToXml(WriteToString()))

{

//成功

}

数据读取 xml:

  1. //tag ,存入的节点名
    1. private String ReadXmlUser(String tag)
    2. {
    3. String re="";
    4. DocumentBuilderFactory documentBuilderFactory;
    5. DocumentBuilder documentBuilder;
    6. Document document;
    7. try {
    8. documentBuilderFactory=DocumentBuilderFactory.newInstance();
    9. documentBuilder=documentBuilderFactory.newDocumentBuilder();
    10. //xml文件放到assets目录下
    11. document=documentBuilder.parse(this.openFileInput("users.xml"));
    12. org.w3c.dom.Element root= document.getDocumentElement();
    13. NodeList nodeList=root.getElementsByTagName(tag);
    14. Node nd=nodeList.item(0);
    15. re= nd.getFirstChild().getNodeValue();
    16. } catch (Exception e) {
    17. // TODO: handle exception
    18. e.printStackTrace();
    19. }finally{
    20. document=null;
    21. documentBuilder=null;
    22. documentBuilderFactory=null;
    23. }
    24. return re;
    25. }

http://blog.csdn.net/hanjingjingpan/article/details/8812770

Android中写入读取XML的更多相关文章

  1. unity Android 打包后读取 xml 文件

    原地址:http://www.cnblogs.com/wuzhang/p/wuzhang20140731.html 问题:    前天在做东西的过程中发现了一个让人很纠结的问题,为什么Unity 程序 ...

  2. android中通过自定义xml实现你需要的shape效果 xml属性配置

    在Android开发过程中,经常需要改变控件的默认样式, 那么通常会使用多个图片来解决.不过这种方式可能需要多个图片,比如一个按钮,需要点击时的式样图片,默认的式样图片,然后在写一个selector的 ...

  3. Android中pull解析XML文件的简单使用

    首先,android中解析XML文件有三种方式,dom,sax,pull 这里先讲pull,稍候会说SAX和DOM pull是一种事件驱动的xml解析方式,不需要解析整个文档,返回的值是数值型,是推荐 ...

  4. android中SharedPreferences 读取不到数据的问题

    在两个不同的 Activity中,A中SharedPreferences保存了数据,在A中可以读取到,但是在 B中却读取不到了,一直是空值,好是不爽,由于是按照书本上的例子写的, 怎么也找不到原因,后 ...

  5. Asp.Net写入读取Xml(处理文件权限)

    1,网上关于读取写入Xml的博客比较多,参考了发现提到Xml文件权限的博客比较少.因为在开发中我发现,如果文件存于一些没有权限的路径,代码是访问不到该文件,页面会报错提示403,Forbidden.意 ...

  6. Winform中实现读取xml配置文件并动态配置ZedGraph的RadioGroup的选项

    场景 Winform中对ZedGraph的RadioGroup进行数据源绑定,即通过代码添加选项: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/ ...

  7. ANDROID中获取STRING.XML,DIMENS.XML等资源文件中的值

    一:是为了国际化,当需要国际化时,只需要再提供一个string.xml文件,把里面的汉子信息都修改为对应的语言(如,English),再运行程序时,android操作系统会根据用户手机的语言环境和国家 ...

  8. asp.net写入读取xml的方法

    添加命名空间 using System.Xml; 我自己的代码(添加其中的节点) XmlDocument xmlDoc = new XmlDocument();xmlDoc.Load(Server.M ...

  9. android开发:Android 中自定义属性(attr.xml,TypedArray)的使用

    今天我们的教程是根据前面一节扩展进行的,如果你没有看,请点击 Android高手进阶教程(三)查看第三课,这样跟容易方便你的理解! 在xml 文件里定义控件的属性,我们已经习惯了android:att ...

随机推荐

  1. jmap命令结合mat插件分析内存泄露--OQL

    http://smallnetvisitor.iteye.com/blog/1826434 User.java package gc; import java.util.ArrayList; impo ...

  2. css属性之!important

    提升指定样式规则的应用优先权. IE6及以下浏览器有个比较显式的支持问题存在,!important在同一条规则集里不生效.请看下述代码: div { color: #f00 !important; c ...

  3. 【转】Android:ListView常见错位之CheckBox错位

    原文网址:http://blog.csdn.net/lemon_tree12138/article/details/39337867 ListView在什么样的情况下会出现错位?错位的原因是什么?怎么 ...

  4. Contest - 2014 SWJTU ACM 手速测试赛(2014.10.31)

    题目列表: 2146 Problem A [手速]阔绰的Dim 2147 Problem B [手速]颓废的Dim 2148 Problem C [手速]我的滑板鞋 2149 Problem D [手 ...

  5. Stack & Heap in Java

    Stack and Heap 都是Java用来在RAM中存放数据的地方.Java自动管理堆和栈,用户不能直接的设置堆或栈. Stack:存在于栈中的数据,其大小与生存周期是确定的,栈中的数据可以共享 ...

  6. Javascript 精髓整理篇之三(数组篇)postby:http://zhutty.cnblogs.com

    今天讲js的数组.数组是js中最基础的数据结构了. 主要讲讲数组实现栈,队列以及其他的基本操作.栈和队列都可以在数组头尾位置处理,所以,都有两种方式. 属性 1.length : 长度,表示数组元素的 ...

  7. [原创作品]一个实用的js倒计时器 postby:zhutty.cnblogs.com

    今天做了一个手机短信发送倒计时,额,就是每隔多长时间可以重新发送的功能.贡献出来给园有吐槽点评. //倒计时,time:时长(秒),scb:每秒回调,cb:计时完成回调 var timing = fu ...

  8. 共享IP云主机(VPS)玩转wdcp

    目前国内有不少性能还不错的共享IP VPS,但因为没有独立IP,所以环境配置起来会比较麻烦. 因为本人自己现在用的就是共享IP的vps,所以把一些配置方法分享一下,供大家参考. 首先是系统的选择,根据 ...

  9. 解决Wamp 开启vhost localhost 提示 403 Forbbiden 的问题!

    非常奇怪的一个问题.我曾经从来都没有这样过!訪问 http://localhost/ 提示  403 Forbbiden. 我之前的设置一直都是这种: httpd.conf <Directory ...

  10. Linux中的小程序—— 进度条

    在说正事之前,首先科普一下在什么是回车什么是换行? 我们通常所说的回车就是从一行的末尾跳到另一行的开头,但事实上这却是由回车和换行两个动作所完成的,也就是键盘上<enter>所完成的工作. ...