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

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

android手机端保存xml数据的更多相关文章

  1. H.264视频在android手机端的解码与播放(转)

    随着无线网络和智能手机的发展,智能手机与人们日常生活联系越来越紧密,娱乐.商务应用.金融应用.交通出行各种功能的软件大批涌现,使得人们的生活丰富多彩.快捷便利,也让它成为人们生活中不可取代的一部分.其 ...

  2. 利用ddmlib 实现 PC端与android手机端adb forword socket通信(转)

    上篇文章讲了PC与android手机连接的办法 ,通过java调用系统命令执行adb命令操作,实际上是一个比较笨的办法. 网上查阅资料,发现google 提供了ddmlib库 (adt-bundle\ ...

  3. Android手机端抓包方法

    抓包准备 1. Android手机需要先获得root权限.一种是否获得root权限的检验方法:安装并打开终端模拟器(可通过安卓市场等渠道获得).在终端模拟器界面输入su并回车,若报错则说明未root, ...

  4. Android使用webService(发送xml数据的方式,不使用jar包)

    Android使用webService可以用ksoap2.jar包来使用.但是我觉得代码不好理解,而且记不住. 所以我查询了好多资料,以及自己的理解.可以用代码发送http请求(发送xml数据)来访问 ...

  5. Android 手机端自动化测试框架

    前言: 大概有4个月没有更新了,因项目和工作原因,忙的手忙脚乱,趁十一假期好好休息一下,年龄大了身体还是扛不住啊,哈哈.这次更新Android端自动化测试框架,也想开源到github,这样有人使用才能 ...

  6. 基于H7的中移动物联例子以及简易操作说明,方便电脑端和手机端远程查看数据

    说明: 1.操作前,务必优先看此贴里面的基础例子,先将WIFI连接到路由器上,这样才可以访问外网: https://www.cnblogs.com/armfly/p/11307803.html 2.有 ...

  7. Fiddler 抓包工具怎么使用?怎么在Android手机端的APP抓包

    https://blog.csdn.net/loner_fang/article/details/83309266 参考这个人的微博上有fiddler主要功能使用的步骤. 序章 Fiddler是一个蛮 ...

  8. 存储过程 保存 xml 数据

    示例: .net DataSet ds=.... string xml = ds.GetXml();xml = xml.Replace("'","''"); S ...

  9. PC端使用opencv获取webcam,通过socket把Mat图像传输到android手机端

    demo效果图: PC端 android端 大体流程 android端是服务器端,绑定IP和端口,监听来自PC端的连接, pc端通过socket与服务器andorid端传输图片. 主要代码 andro ...

随机推荐

  1. Linux系统编程(27)——线程控制

    进程在各自独立的地址空间中运行,进程之间共享数据需要用mmap或者进程间通信机制,那么如何在一个进程的地址空间中执行多个线程呢.有些情况需要在一个进程中同时执行多个控制流程,这时候线程就派上了用场,比 ...

  2. 【转】C++读写二进制文件

    原文网址:http://blog.csdn.net/lightlater/article/details/6364931 摘要: 使用C++读写二进制文件,在开发中操作的比较频繁,今天有幸找到一篇文章 ...

  3. 【转】一个FAE(AE)的体会和大家交流

    原文网址:http://www.52rd.com/bbs/dispbbs.asp?boardID=63&ID=228682 本人在国内某芯片设计公司工作近5年时间岗位是AE和FAE,两个工作量 ...

  4. cf509E Pretty Song

    E. Pretty Song time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  5. LINQ 内链接 左链接 右链接

    原文地址:http://blog.sina.com.cn/s/blog_46e9573c01014fx2.html 1.左连接: var LeftJoin = from emp in ListOfEm ...

  6. C plus plus primer plus

    1,运算符,操作数; 使用相同的符号(基本运算符,+ - * /  %),进行多种操作(指使用一个运算符符号,对不用类型的变量进行操作,int ,float,double),此概念将运算符的重载(op ...

  7. iOS - 排序的队列中插入数值

    http://stackoverflow.com/questions/8180115/nsmutablearray-add-object-with-order 用Selector http://sta ...

  8. Android笔记(二):从savedIndstanceState发散

    savedIndstanceState savedIndstanceState位于ActivityonCreate(Bundle savedInstanceState)方法的参数中.对这个参数的理解要 ...

  9. http缓存策略

    http://foofish.net/blog/95/http-cache-policy

  10. Qt的内存管理

    在QT的程序中经常会看到只有new而不delete的情况,其实是因为QT有一套回收内存的机制,主要的规则如下: 1.所有继承自QOBJECT类的类,如果在new的时候指定了父亲,那么它的清理时在父亲被 ...