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

Android中写入读取XML,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。