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

假如,您需要这样一个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. word 论文排版 —— 按指定格式章节的自动编号

    在word中如何实现章节标题自动编号 标题样式与标题的编号是两个步骤,为标题建立编号是在为标题样式确定的基础后进行的.这是显而易见的,也即只有先定义了多级标题(也可使用 word 自带的标题样式),才 ...

  2. webpack的单vue组件(.vue)加载sass配置

    在通过vue-cli安装了webpack-simple 后,就自动安装好vue-loader了,但此时若写了含有sass的.vue组件,运行npm run dev时会报错.此时,需要我们在webpac ...

  3. WPF制作Logo,很爽,今后在应用程序中加入Logo轻松,省事!

    原文:WPF制作Logo,很爽,今后在应用程序中加入Logo轻松,省事! 这是效果: XAML代码:<Viewbox Width="723.955078" Height=&q ...

  4. 在Expression Blend中制作侧面为梯形的类棱柱体

    原文:在Expression Blend中制作侧面为梯形的类棱柱体 在上一篇"在WPF设计工具Blend2中制作立方体图片效果"( http://blog.csdn.net/joh ...

  5. The bundle does not contain an app icon for iPhone / iPod Touch of exactly &#39;120x120&#39; pixels, in .pn

    xcode 6.3 载发生时的应用'Missing recommended icon file - The bundle does not contain an app icon for iPhone ...

  6. ATS项目更新(2) 命令行编译Studio解决方案

    1: rem "D:\Microsoft Visual Studio 8\SDK\v2.0\Bin\sdkvars.bat" 2: D: 3: cd ..\..\..\..\..\ ...

  7. wxWidgets开始编程

    开始学习wxWidgets.上一页写"安装wxWidgets两遇到的障碍"(缩写"前言"). 先推荐一下这两天找到的学习材料. 博客中有一个系列教程,貌似作者没 ...

  8. AY写给国人的教程- VS2017 Live Unit Testing[1/2]-C#人爱学不学-aaronyang技术分享

    原文:AY写给国人的教程- VS2017 Live Unit Testing[1/2]-C#人爱学不学-aaronyang技术分享 谢谢大家观看-AY的 VS2017推广系列 Live Unit Te ...

  9. 关于C#的可变长参数

    可变参数 params===>> params int[] list,传入参数的类型必须是一种类型 static void Main(string[] args) { , , , ); C ...

  10. XE Delphi 判断字符为中文的方法

    在uses中添加System.AnsiStrings /// Param ch--字符串/// Param cno--字符位置 function IsZHChar(const ch: AnsiStri ...