这是我为项目中写的一个测试的例子,

假如,您需要这样一个xml文件,

<?xml version="1.0" encoding="utf-8"?>
<A>
<a>
<id></id>
<name>lee</name>
<time>-- ::</time>
</a>
</A>

如果,本地目录下没有这样的xml文件,就生成一个。。。

如果有,就执行往里面加入数据,如:

<?xml version="1.0" encoding="utf-8"?>
<A>
<a>
<id></id>
<name>lee</name>
<time>-- ::</time>
</a>
<a>
<id></id>
<name>wan</name>
<time>-- ::</time>
</a>
<a>
<id></id>
<name>wang</name>
<time>-- ::</time>
</a>
... ...
<a>
<id>00n</id>
<name>xie</name>
<time>-- :5:</time>
</a>
</A>

其实,我想要的就是这样的效果,以下就是具体的代码实现过程(说明:下面代码实现的结果不是上面的xml,那是我随便写的,大概形式是这样的)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Xml;
using System.IO; namespace ThreadExample
{
class Program
{
static void Main(string[] args)
{
string path = "D:\\Click_statistics.xml";
XmlDocument doc = new XmlDocument(); if (!File.Exists(path))
{
//创建头文件声明
XmlDeclaration xmldecl;
xmldecl = doc.CreateXmlDeclaration("1.0", "utf-8", null); //Add the new node to the document.
XmlElement root = doc.DocumentElement;
doc.InsertBefore(xmldecl, root); XmlElement Node = doc.CreateElement("zhjs");//创建一个zhjs节点
doc.AppendChild(Node); XmlElement Node1 = doc.CreateElement("total");//创建节点zhjs子节点total
doc.DocumentElement.AppendChild(Node1); XmlElement Node2 = doc.CreateElement("f_name");//创建节点total子节点f_name
Node2.InnerText = "信息查询";
Node1.AppendChild(Node2); XmlElement Node3 = doc.CreateElement("c_name");//创建节点total子节点c_name
Node3.InnerText = "";
Node1.AppendChild(Node3); XmlElement Node4 = doc.CreateElement("time");//创建节点total子节点time
Node4.InnerText = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
Node1.AppendChild(Node4); doc.Save(path);
}
else
{
doc.Load(path);
XmlNode xmlnode = doc.SelectSingleNode("zhjs"); XmlElement Node1 = doc.CreateElement("total");//创建节点zhjs子节点total
doc.DocumentElement.AppendChild(Node1); XmlElement Node2 = doc.CreateElement("f_name");//创建节点total子节点f_name
Node2.InnerText = "公交查询";
Node1.AppendChild(Node2); XmlElement Node3 = doc.CreateElement("c_name");//创建节点total子节点c_name
Node3.InnerText = "";
Node1.AppendChild(Node3); XmlElement Node4 = doc.CreateElement("time");//创建节点total子节点time
Node4.InnerText = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
Node1.AppendChild(Node4); doc.Save(path);
}
}
}
}

判断本地系统目录下是否存在XML文件,如果不存在就创建一个XMl文件,若存在就在里面执行添加数据的更多相关文章

  1. logback 指定每隔一段时间创建一个日志文件

    我使用的logback版本是1.2.3 目前logback支持根据时间来配置产生日志文件,但是只支持每周,每天,每个小时,每分钟等创建一个文件,配置如下: <appender name=&quo ...

  2. 使用SQL语句创建数据库1——创建一个数据库文件和一个日志文件的数据库

    目的:创建一个数据库文件和一个日志文件的数据库 在matser数据库下新建查询,输入的命令如下: USE master——指向当前使用的数据库.创建数据库实际上是向master数据库中增加一条数据库信 ...

  3. 如何在Qt Creator 创建一个.pri文件

    如何在Qt Creator 创建一个.pri文件 2013年10月09日 ⁄ 综合 ⁄ 共 254字 ⁄ 字号 小 中 大 ⁄ 评论关闭   这个问题很少人写,因为比较简单,但是让却让我花了好大功夫才 ...

  4. 编写Java程序,使用 dom4j 创建一个 XML 文档,文档名为“city.xml”。注意该文档的格式和数据

    查看本章节 查看作业目录 需求说明: 使用 dom4j 创建一个 XML 文档,文档名为"city.xml".该文档的格式和数据如图所示 实现思路: 创建Java项目,添加dom4 ...

  5. 编写Java程序,创建一个 XML 文档,文档名为“hero.xml”,用于保存“王者荣耀”的英雄信息。

    查看本章节 查看作业目录 需求说明: 创建一个 XML 文档,文档名为"hero.xml",用于保存"王者荣耀"的英雄信息.英雄信息包括编号(id).姓名(na ...

  6. 批处理判断是否存在文件,存在则运行另外一个bat文件

    现在需求如下: 使用bat文件判断是否存在ktr文件,存在则运行pan.bat,执行kettle脚本. 代码如下: @echo off @title 批处理判断文件夹是否存在 cd /d F: rem ...

  7. MVC文件上传09-使用客户端jQuery-File-Upload插件和服务端Backload组件让每个用户有专属文件夹,并在其中创建分类子文件夹

    为用户创建专属上传文件夹后,如果想在其中再创建分类子文件夹,该怎么做?可以在提交文件的视图中再添加一个隐藏域,并设置 name="uploadContext". 相关兄弟篇: MV ...

  8. 写入数据到Plist文件中时,第一次要创建一个空的数组,否则写入文件失败

    #pragma mark - 保存数据到本地Plist文件中 - (void)saveValidateCountWithDate:(NSString *)date count:(NSString *) ...

  9. python 读hdf4文件,再转写成一个tif文件

    1.安装pyhdf包 (1)通过此链接查找并下载pyhdf包:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame(根据自己的系统及python版本选择 ...

随机推荐

  1. Mina、Netty、Twisted一起学习(三):TCP前缀固定大小的消息(Header)

    于以前的博文于,有介绍切割消息换行的方法. 但是有一个小问题,这样的方法,设消息中本身就包括换行符,那将会将这条消息切割成两条.结果就不正确了. 本文介绍第二种消息切割方式,即上一篇博文中讲的第2条: ...

  2. Facebook学长交流分享

    印象中这似乎是 Facebook 第一次来浙大校园做交流. 前不久,也参加了 Google 的校园宣讲,G 的两大宣讲主题是 Google 介绍和模拟面试.印象最深的是无敌的一家三口每年 100w 封 ...

  3. WinForm - 无边框窗体自定义移动

    为了界面的好看,有时候需要将窗体FormBorderStyle属性设为None,这样就可以根据自己的喜欢来设计界面.但这样窗体无法进行移动的.而且默认的窗体(FormBorderStyle=Sizab ...

  4. Android官方教程翻译(3)——创建一个简单的用户界面

    转载请注明出处:http://blog.csdn.net/dawanganban/article/details/9839523 Building a Simple User Interface 创建 ...

  5. 在.net core自带DI中服务生命周期 Transient,Scoped,Singleton

    只要是透过WebHost产生实例的类型,都可以在构造方法注入.所以Controller.View.Filter.Middleware或自定义的Service等都可以被注入. Transient是瞬时的 ...

  6. UML该元素的行为为基础的元素

     Behavioral thingsare the dynamic parts of UML models. These are the verbs of a model, representin ...

  7. 三:Java之Applet

    首先我要说的是Applet是一种应用程序,它是一种由JAVA编写的小应用程序,通常这样的应用程序都像他的名字一样,是一个非常小的程序,或许有些朋友就会问了,那么它是用来干什么的呢?JAVA程序就是JA ...

  8. 怎么给罗技K480 增加Home、End键

    最近看张大妈上很多人分享了我的桌面,有感于整天低头码字不利健康,隧鼓捣起自己的电脑桌了. 此处省略N字... 进入正文,我码字用的是罗技的K480蓝牙键盘 码了几行代码,发现没有Home.End键,这 ...

  9. “TNS-03505:无法解析名称”问题解决一例

    1.  问题情境 开发人员,在windows新环境ORACLEclient.配置"tnsnames.ora"后,准备连接Linux环境的ORACLE数据库,使用tnsping报TN ...

  10. WPF 集合分组排序

    <Window x:Class="ViewExam.MainWindow"        xmlns="http://schemas.microsoft.com/w ...