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. FFT修正

    #include<iostream> #include<cstdio> #include<cmath> #include<algorithm> #inc ...

  2. poj2955:括号匹配,区间dp

    题目大意: 给一个由,(,),[,]组成的字符串,其中(),[]可以匹配,求最大匹配数 题解:区间dp: dp[i][j]表示区间 [i,j]中的最大匹配数 初始状态 dp[i][i+1]=(i,i+ ...

  3. prepareStatement的用法和解释

    1. PreparedStatement是预编译的,对于批量处理可以大大提高效率. 也叫JDBC存储过程2. 使用 Statement 对象.在对数据库只执行一次性存取的时侯,用 Statement ...

  4. Centos6 下启动httpd报错 Could not reliably determine the server's解决方法

    在启动httpd的时候报错: 修改/etc/httpd/conf/httpd.conf 配置,去掉ServerName 前的#(或者手动添加ServerName localhost:80)然后重启ht ...

  5. 【微信公众号】验证用户OpenID是否关注某个公众号

    1.获取OpenID #region 获取微信支付的OpenId /// <summary> /// 获取微信支付的OpenId /// </summary> /// < ...

  6. Java和C++的不同

    现在一边继续深入C++,一边学习Java,为了学习得更加透彻,不断比较两者之间的不同,以后会慢慢继续增加. 1.在多态的实现上,C++需要利用关键字virtual,而Java不需要,因为在Java中, ...

  7. C#中几种换行符

    1.Windows 中的换行符"\r\n" 2.Unix/Linux 平台换行符是 "\n". 3.MessageBox.Show() 的换行符为 " ...

  8. NSUserDefaults的使用方法

    NSUserDefaults对象是用来保存,恢复应用程序相关的偏好设置,配置数据等等,用户再次打开程序或开机后这些数据仍然存在.默认系统允许应用程序自定义它的行为去迎合用户的喜好.你可以在程序运行的时 ...

  9. 活动指示器UIActivityIndicatorView

    活动指示器UIActivityIndicatorView可以告知用户有一个操作正在进行中 1.创建    UIActivityIndicatorView *activityIndicatorView ...

  10. SQL server 2008无法修改表

    长久未使用SQL server,一直都是使用Navicat来处理各种数据库,感觉使用很方便,但由于实际需要,必须要用SQL server创建新的数据库,却意外的遇到了以前从未遇到过的问题. 在建好表以 ...