判断本地系统目录下是否存在XML文件,如果不存在就创建一个XMl文件,若存在就在里面执行添加数据
这是我为项目中写的一个测试的例子,
假如,您需要这样一个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文件,若存在就在里面执行添加数据的更多相关文章
- logback 指定每隔一段时间创建一个日志文件
我使用的logback版本是1.2.3 目前logback支持根据时间来配置产生日志文件,但是只支持每周,每天,每个小时,每分钟等创建一个文件,配置如下: <appender name=&quo ...
- 使用SQL语句创建数据库1——创建一个数据库文件和一个日志文件的数据库
目的:创建一个数据库文件和一个日志文件的数据库 在matser数据库下新建查询,输入的命令如下: USE master——指向当前使用的数据库.创建数据库实际上是向master数据库中增加一条数据库信 ...
- 如何在Qt Creator 创建一个.pri文件
如何在Qt Creator 创建一个.pri文件 2013年10月09日 ⁄ 综合 ⁄ 共 254字 ⁄ 字号 小 中 大 ⁄ 评论关闭 这个问题很少人写,因为比较简单,但是让却让我花了好大功夫才 ...
- 编写Java程序,使用 dom4j 创建一个 XML 文档,文档名为“city.xml”。注意该文档的格式和数据
查看本章节 查看作业目录 需求说明: 使用 dom4j 创建一个 XML 文档,文档名为"city.xml".该文档的格式和数据如图所示 实现思路: 创建Java项目,添加dom4 ...
- 编写Java程序,创建一个 XML 文档,文档名为“hero.xml”,用于保存“王者荣耀”的英雄信息。
查看本章节 查看作业目录 需求说明: 创建一个 XML 文档,文档名为"hero.xml",用于保存"王者荣耀"的英雄信息.英雄信息包括编号(id).姓名(na ...
- 批处理判断是否存在文件,存在则运行另外一个bat文件
现在需求如下: 使用bat文件判断是否存在ktr文件,存在则运行pan.bat,执行kettle脚本. 代码如下: @echo off @title 批处理判断文件夹是否存在 cd /d F: rem ...
- MVC文件上传09-使用客户端jQuery-File-Upload插件和服务端Backload组件让每个用户有专属文件夹,并在其中创建分类子文件夹
为用户创建专属上传文件夹后,如果想在其中再创建分类子文件夹,该怎么做?可以在提交文件的视图中再添加一个隐藏域,并设置 name="uploadContext". 相关兄弟篇: MV ...
- 写入数据到Plist文件中时,第一次要创建一个空的数组,否则写入文件失败
#pragma mark - 保存数据到本地Plist文件中 - (void)saveValidateCountWithDate:(NSString *)date count:(NSString *) ...
- python 读hdf4文件,再转写成一个tif文件
1.安装pyhdf包 (1)通过此链接查找并下载pyhdf包:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame(根据自己的系统及python版本选择 ...
随机推荐
- 192M内存的VPS,安装Centos 6 minimal x86,无法安装node.js
尝试了各种方法,始终安装不了node.偶然一次,安装了64位的Centos 6 minimal,竟然可以安装Node官网给出的命令安装node了,一切顺利.
- C#中的并发编程知识二
= 导航 顶部 基本信息 ConcurrentQueue ConcurrentStack ConcurrentBag BlockingCollection ConcurrentDictiona ...
- 编译和使用jasper库的一个注意事项
作者:朱金灿 来源:http://blog.csdn.net/clever101 由于jasper库是一个跨平台库,而Windows的VC编译器和Linux的GCC编译器的头文件并不完全一致(可能因为 ...
- [Example of Sklearn] - SVM usge
reference : http://www.csdn.net/article/2012-12-28/2813275-Support-Vector-Machine SVM是什么? SVM是一种训练机器 ...
- onload 事件
定义和用法 onload 事件会在页面或图像加载完成后立即发生. 语法 onload="SomeJavaScriptCode" 参数 描述 SomeJavaScriptCode 必 ...
- HDU-4432-Sum of divisors ( 2012 Asia Tianjin Regional Contest )
Sum of divisors Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- WPF 定时器DispatcherTimer+GetCursorPos 的使用,动态查看屏幕上任一点坐标
原文:WPF 定时器DispatcherTimer+GetCursorPos 的使用,动态查看屏幕上任一点坐标 ); dTimer.Start(); ...
- hdu4614 二分法+段树
意甲冠军:给你1-n花瓶 .起初,所有的空,今天,有两种操作模式, 1:从花瓶a開始插入b朵花 假设不能插进去 输出字符串 否则输出最多插入的起点和终点: 2:把a-b的花瓶 ...
- 怎样开始GO编程?
如果你想开始学习GO语法前,请先背熟下述4点: 1. 环境变量: 使用go env查看环境变量 GOARCH/GOHOSTARCH: 体系架构, amd64或386 GOOS/GOHOSTOS: 操作 ...
- Bind Enum to Combobox.SelectedIndex
原文:Bind Enum to Combobox.SelectedIndex Do you mean that you want to bind a variable (not a property) ...