zoukankan      html  css  js  c++  java
  • android手机端保存xml数据

    [java] view plaincopy
     
    1. 1、前面写的这个不能继续插入数据,今天补上,当文件不存在的时候就创建,存在就直接往里面添加数据。  
    [java] view plaincopy
     
    1.   
    [java] view plaincopy
     
    1. 2、代码如下:  
    [java] view plaincopy
     
    1. <pre name="code" class="java">package com.mqp.doc2xml;  
    2.   
    3. import java.io.File;  
    4. import java.io.IOException;  
    5.   
    6. import javax.xml.parsers.DocumentBuilder;  
    7. import javax.xml.parsers.DocumentBuilderFactory;  
    8. import javax.xml.parsers.ParserConfigurationException;  
    9. import javax.xml.transform.Transformer;  
    10. import javax.xml.transform.TransformerConfigurationException;  
    11. import javax.xml.transform.TransformerException;  
    12. import javax.xml.transform.TransformerFactory;  
    13. import javax.xml.transform.dom.DOMSource;  
    14. import javax.xml.transform.stream.StreamResult;  
    15.   
    16. import org.omg.CORBA.Environment;  
    17. import org.w3c.dom.Document;  
    18. import org.w3c.dom.Element;  
    19. import org.w3c.dom.Text;  
    20. import org.xml.sax.SAXException;  
    21.   
    22. /** 
    23.  *  
    24.  * 将配置中的数据保存在本地XML文件中 
    25.  *  
    26.  * @author Administrator 
    27.  *  
    28.  */  
    29.   
    30. // 使用Dom方式来保存数据  
    31. public class Doc2Xml {  
    32.   
    33.     public static boolean saveParam2Xml(String ip_value, String socket_value) {  
    34.   
    35.         // 文档生成器工厂  
    36.         DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();  
    37.   
    38.         // 实例化文档生成器  
    39.         try {  
    40.             DocumentBuilder builder = factory.newDocumentBuilder();  
    41.   
    42.             File f = new File("../Test/xml/text.xml");  
    43.             if (!f.exists()) {  
    44.                 System.out.println("=======");  
    45.   
    46.                 f.createNewFile();  
    47.   
    48.                 // 生成一个文档  
    49.                 Document document = builder.newDocument();  
    50.   
    51.                 // 创建根节点  
    52.                 Element configs = document.createElement("configs");  
    53.   
    54.                 // 创建XML文件所需的各种对象并序列化(元素)  
    55.                 Element config = document.createElement("config");// 创建元素节点  
    56.   
    57.                 Element ip = document.createElement("ip");  
    58.                 Element socket = document.createElement("socket");  
    59.   
    60.                 Text ip_text = document.createTextNode(ip_value);// 创建text文本  
    61.                 Text socket_text = document.createTextNode(socket_value);  
    62.   
    63.                 ip.appendChild(ip_text);  
    64.                 socket.appendChild(socket_text);  
    65.   
    66.                 config.appendChild(ip);  
    67.                 config.appendChild(socket);  
    68.   
    69.                 configs.appendChild(config);  
    70.   
    71.                 document.appendChild(configs);// 添加到文档中  
    72.   
    73.                 // 调用方法,将文档写入xml文件中  
    74.                 return Doc2Xml.write2Xml(document, f);  
    75.             } else {  
    76.   
    77.                 // 解析文档  
    78.                 Document document = builder.parse(f);  
    79.                 Element configs = document.getDocumentElement();// 得到根节点,把后面创建的子节点加入这个跟节点中  
    80.   
    81.                 // 创建XML文件所需的各种对象并序列化(元素)  
    82.                 Element config = document.createElement("config");// 创建元素节点  
    83.   
    84.                 Element ip = document.createElement("ip");  
    85.                 Element socket = document.createElement("socket");  
    86.   
    87.                 Text ip_text = document.createTextNode(ip_value);// 创建text  
    88.                 Text socket_text = document.createTextNode(socket_value);  
    89.   
    90.                 ip.appendChild(ip_text);  
    91.                 socket.appendChild(socket_text);  
    92.   
    93.                 config.appendChild(ip);  
    94.                 config.appendChild(socket);  
    95.   
    96.                 configs.appendChild(config);// 添加到根节点中  
    97.   
    98.                 // 调用方法,将文档写入xml文件中  
    99.                 return Doc2Xml.write2Xml(document, f);  
    100.             }  
    101.   
    102.         } catch (ParserConfigurationException e) {  
    103.             e.printStackTrace();  
    104.   
    105.             return false;  
    106.         } catch (IOException e) {  
    107.             // TODO Auto-generated catch block  
    108.             e.printStackTrace();  
    109.         } catch (SAXException e) {  
    110.             // TODO Auto-generated catch block  
    111.             e.printStackTrace();  
    112.         }  
    113.         return false;  
    114.   
    115.     }  
    116.   
    117.     public static boolean write2Xml(Document document, File file) {  
    118.         // 创建转化工厂  
    119.         TransformerFactory factory = TransformerFactory.newInstance();  
    120.         // 创建转换实例  
    121.         try {  
    122.             Transformer transformer = factory.newTransformer();  
    123.   
    124.             // 将建立好的DOM放入DOM源中  
    125.             DOMSource domSource = new DOMSource(document);  
    126.   
    127.             // 创建输出流  
    128.             StreamResult result = new StreamResult(file);  
    129.   
    130.             // 开始转换  
    131.             transformer.transform(domSource, result);  
    132.   
    133.             return true;  
    134.   
    135.         } catch (TransformerConfigurationException e) {  
    136.             e.printStackTrace();  
    137.   
    138.             return false;  
    139.         } catch (TransformerException e) {  
    140.             e.printStackTrace();  
    141.   
    142.             return false;  
    143.         }  
    144.     }  
    145.   
    146.     public static void main(String[] args) {  
    147.         System.out.println(Doc2Xml.saveParam2Xml("10.1.23.2", "8888")  
    148.                 + "----------");  
    149.     }  
    150.   
    151. }  
    152. </pre><br><br>  
     

    http://blog.csdn.net/maqipei/article/details/12052115

  • 相关阅读:
    实用的DBHelper帮助类
    无刷新分页技术
    Android回部古剑之ViewFlipper之仙人指路
    Android玉石短剑之GridView之精挑细选
    构建门户之利刃Liferay Portal系统架构
    Android回部古剑之ViewFlipper之翻来覆去
    Android凝碧剑之CalendarView之万年历
    自己动手写Web容器之TomJetty之四:静态页面起步
    Android白虹剑之EditView之非法输入
    AssetBundle压缩/内部结构/下载和加载
  • 原文地址:https://www.cnblogs.com/daishuguang/p/3857315.html
Copyright © 2011-2022 走看看