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

假如,您需要这样一个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. Diffie-Hellman Key Exchange – A Non-Mathematician’s Explanation

    The Complete Diffie-Hellman Key Exchange Diagram The process begins when each side of the communicat ...

  2. PAT 1021-1030 题解

    早期部分代码用 Java 实现.由于 PAT 虽然支持各种语言,但只有 C/C++标程来限定时间,许多题目用 Java 读入数据就已经超时,后来转投 C/C++.浏览全部代码:请戳 本文谨代表个人思路 ...

  3. Windows下MinGW跨平台编译和使用log4cpp

    Log4cpp 是C++开源日志库,为 C++ 应用程序开发中提供了日志的追踪和调试功能,基于 LGPL 开源协议,移植自 java 的日志项目 log4j, 并在 api 上保持了一致性. 1. 环 ...

  4. HDU 4847-Wow! Such Doge!(定位)

    Wow! Such Doge! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  5. JavaScript实现算法

    leetcode算法题(JavaScript实现)   题外话 刷了一段时间的codewars的JavaScript题目之后,它给我最大的感受就是,会帮助你迅速的提升你希望练习的语言的API的熟悉程度 ...

  6. 关于ExpandableListView的一个小例子

    喜欢显示好友QQ那样的列表,可以展开,可以收起,在android中,以往用的比较多的是listview,虽然可以实现列表的展示,但在某些情况下,我们还是希望用到可以分组并实现收缩的列表,那就要用到an ...

  7. matplotlib:path effects

    import matplotlib.pyplot as plt, matplotlib.patheffects as path_effects 1. normal fig = plt.figure(f ...

  8. Codeforces #264 (Div. 2) D. Gargari and Permutations

    Gargari got bored to play with the bishops and now, after solving the problem about them, he is tryi ...

  9. Linux性能测试 ss命令

    ss即socket state,也就是说,是可以查看系统中socket的状态的.我们可以用netstat,但为什么还要用ss这个工具呢,当然ss也是有好处的.当我们打开的socket数量很多时,net ...

  10. modern-cpp-features

    C++17/14/11 Overview Many of these descriptions and examples come from various resources (see Acknow ...