android手機端儲存xml資料

來源:互聯網
上載者:User

標籤:android   des   blog   http   java   使用   

[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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.