zoukankan      html  css  js  c++  java
  • Android中写入读取XML

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

    数据写入xml:

    ReadXMLTest.java

    [java] view plaincopy
     
    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.   
    10.             serializer.startTag("", "userName");  
    11.             serializer.text(txtUser.getText().toString());  
    12.             serializer.endTag("", "userName");  
    13.   
    14.             serializer.startTag("", "userEmail");  
    15.             serializer.text(txtEmail.getText().toString());  
    16.             serializer.endTag("", "userEmail");  
    17.   
    18.             serializer.startTag("", "passWord");  
    19.             serializer.text(txtPass.getText().toString());  
    20.             serializer.endTag("", "passWord");  
    21.   
    22.             serializer.endTag("", "users");  
    23.             serializer.endDocument();  
    24.   
    25.         } catch (IllegalArgumentException e) {  
    26.             // TODO: handle exception  
    27.             e.printStackTrace();  
    28.         } catch (IllegalStateException e) {  
    29.             // TODO: handle exception  
    30.             e.printStackTrace();  
    31.         } catch (IOException e) {  
    32.             // TODO: handle exception  
    33.             e.printStackTrace();  
    34.         }  
    35.         return writer.toString();  
    36.     }  
    37.   
    38.     //将字符串保存为apk的私有文件  
    39.     private boolean writeToXml(String str) {  
    40.         try {  
    41.   
    42.             OutputStream out = openFileOutput("users.xml",MODE_PRIVATE);  
    43.             OutputStreamWriter outWriter = new OutputStreamWriter(out);  
    44.             try {  
    45.                 outWriter.write(str);  
    46.                 outWriter.close();  
    47.                 out.close();  
    48.                 return true;  
    49.             } catch (IOException e) {  
    50.                 // TODO: handle exception  
    51.                 return false;  
    52.             }  
    53.         } catch (Exception e) {  
    54.             // TODO: handle exception  
    55.             return false;  
    56.         }  
    57.     }  

    调用时:

    if(writeToXml(WriteToString()))

    {

          //成功

    }


    数据读取 xml:

    [java] view plaincopy
     
    1. //tag ,存入的节点名  
    [java] view plaincopy
     
      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

  • 相关阅读:
    ThreadPoolExecutor的重要参数
    分布式系统中一致性哈希算法
    监测工具dstat
    luamysql 安装
    修改linux下系统资源限制
    linux系统资源监视工具TOP
    /etc/security/limits.conf
    lua连接mysql数据库
    query cache 的内存使用和调优
    redhat5 和redhat6 root用户不同的ulimits
  • 原文地址:https://www.cnblogs.com/daishuguang/p/3868598.html
Copyright © 2011-2022 走看看