我们在做一些操作的时候会需要生成日志,Xml文件就是我们常用的一种日志文件。

普通操作Xml文件的代码遇到大数据量的话就很慢了。

用这个生成Xml文件的话,即使数据量很大,也很快

     private void WriteXml(BindingList<Model.WebServiceLog> listwebservicelog, string XName)
{
DateTime dtNow = Globas.Globas.DtNowTime; ;
string dateString = dtNow.Year.ToString();
dateString += dtNow.Month.ToString().Length < ? ("" + dtNow.Month.ToString()) : (dtNow.Month.ToString());
dateString += dtNow.Day.ToString().Length < ? ("" + dtNow.Day.ToString()) : (dtNow.Day.ToString()); string filePath = ConfigurationManager.AppSettings["path"];
filePath = filePath.EndsWith(@"\") ? filePath : (filePath + @"\");
filePath = filePath + dateString;
filePath = filePath.EndsWith(@"\") ? filePath : (filePath + @"\"); if (Directory.Exists(filePath) == false)
{
Directory.CreateDirectory(filePath);//判断该路径是否存在,不存在则创建该路径文件夹
} filePath = filePath + XName + DateTime.Now.ToString("yyyyMMdd") + ".xml";
String filename = String.Concat(filePath);
using (StreamWriter sw = new StreamWriter(filename, true, System.Text.Encoding.GetEncoding("UTF-8")))
{
XmlTextWriter xmlWriter = new XmlTextWriter(sw);
xmlWriter.Formatting = Formatting.Indented;
xmlWriter.WriteStartDocument();
xmlWriter.WriteStartElement("Logs"); foreach (Model.WebServiceLog webservicelog in listwebservicelog)
{
xmlWriter.WriteStartElement("Log");
xmlWriter.WriteElementString("UseDate", webservicelog.UseDate);
xmlWriter.WriteElementString("Method", webservicelog.Method);
xmlWriter.WriteElementString("Parameter", webservicelog.Parameter);
xmlWriter.WriteElementString("UseOrReturn", webservicelog.UseOrReturn);
// close contact </contact>
xmlWriter.WriteEndElement();
}
// close contacts </contact>
xmlWriter.WriteEndElement();
xmlWriter.WriteEndDocument();
xmlWriter.Close();
}
}

调用方式:

 WriteXml(listWebservice, "Info_");

快速写入Xml文件的更多相关文章

  1. 通俗易懂,C#如何安全、高效地玩转任何种类的内存之Span的脾气秉性(二)。 异步委托 微信小程序支付证书及SSL证书使用 SqlServer无备份下误删数据恢复 把list集合的内容写入到Xml中,通过XmlDocument方式写入Xml文件中 通过XDocument方式把List写入Xml文件

    通俗易懂,C#如何安全.高效地玩转任何种类的内存之Span的脾气秉性(二).   前言 读完上篇<通俗易懂,C#如何安全.高效地玩转任何种类的内存之Span的本质(一).>,相信大家对sp ...

  2. C#读取和写入XML文件

    关于xml是属于一个比较重要的东西,在平时开发的过程中,这块内容最主要的是要掌握XML内容的读取和写入操作. 一.什么是XML? XML 指可扩展标记语言(EXtensible Markup Lang ...

  3. xml文件生成方式一(字符串拼接,将多实体类对象写入xml文件)

    1.xml文件生成,拼接字符串使用StringBuffer或StringBuilder 2.拼接好后写入文件即可,将多个实体类写入xml文件 3.这种方式比较简单,但是操作也比较麻烦 4.下面是我的代 ...

  4. Pugixml一种快速解析XML文件的开源解析库

    Pugixml是一个轻量级的C++ XML开源解析库,DOM形式的解析器.接口和丰富的遍历和修改操作,快速的解析,此外支持XPath1.0实现数据查询,支持unicode编码: 使用Pugixml可通 ...

  5. spring 多线程 写入数据库 和 写入 xml文件

    最近工作中遇到一个需求 多线程先爬取页面 然后将爬取的结果持久化到数据库中 ,一些大文本的内容需要持久化到 xml文件中; 下面是运行后的结果: xml 文件写入结果: 数据库写入结果: 再来张项目结 ...

  6. 【python小练】0017-将xls文件内容写入xml文件中

    第 0017 题: 将 第 0014 题中的 student.xls 文件中的内容写到 student.xml 文件中,如 下所示: <?xml version="1.0" ...

  7. Delphi数据库数据用文件流方式快速写入Excel文件

    在开发数据库应用程序中,经常要将类型相同的数据导出来,放到Excel文件中,利用Excel强大的编辑功能,对数据作进一步的加工处理.这有许多的方法,我们可以使用OLE技术,在Delphi中创建一个自动 ...

  8. C#Doc写入 XML文件

    HTML是XML的先驱,XML延续了HTML的简单性的优点.XML不是用来替代HTML的, XML和HTML为不同的目的而设计: XML被设计用来描述数据,其焦点是数据的内容.HTML被设计用来显示数 ...

  9. 通过XDocument方式把List写入Xml文件

    List<Person> list=new List<Person>{ new Person(){Name="张三",Age=50,Address=&quo ...

随机推荐

  1. 【b094&&z14】靶形数独

    [问题描述] 小城和小华都是热爱数学的好学生,最近,他们不约而同地迷上了数独游戏,好胜的分们想用数独来一比高低.但普通的数独对他们来说都过于简单了,于是他们向Z博士请教,Z博士拿出了他最近发明的&qu ...

  2. Android 离线语音用法(讯飞语音)

    这次给大家带来的是项目的离线语音功能. 讯飞开放平台中的离线语音 首先创建开放平台的账号.这个不必多说 然后创建新应用 选择我的应用,例如以下图,注意下我打马赛克的地方,这个appId非常重要 点击进 ...

  3. hbase 2.0.2 分布式安装配置/jar包替换

    环境 zk: 3.4.10 hadoop 2.7.7 jdk8 hbase 2.0.2 三台已安装配置好的hadoop002,hadoop003,hadoop004 1.上传并解压hbase-2.1. ...

  4. 不要完全相信Chrome控制台打印的信息

    以下两张图,第一张是Chrome控制台Network里请求返回的信息,图二是在代码里在请求返回的处理第一行代码用console.log打印的信息. 图一 图二 那么问题来了,为何通过console.l ...

  5. 全文检索(elasticsearch入门)

    Elasticsearch篇: Elasticsearch是一个采用java语言开发的,基于Lucene构造的开源,分布式的搜索引擎. 设计用于云计算中,能够达到实时搜索,稳定可靠. Elastics ...

  6. dom4j解析xml获取所有的子节点并放入map中

    dom4j递归解析所有子节点 //解析返回的xml字符串,生成document对象 Document document = DocumentHelper.parseText(resultXml); / ...

  7. 图像块的访问(填充 padding,步长 stride,窗 Window/kernel/filter)

    无填充是有填充的特例(填充为 1). utilities(matlab)-- 图像分块(image2cols.cols2image)(未填充) 1. 一个图像块 ⇒ 返回一个值 输出矩阵的大小: ou ...

  8. jQuery立即调用表达式

    http://www.imooc.com/code/3247 立即调用表达式 任何库与框架设计的第一个要点就是解决命名空间与变量污染的问题.jQuery就是利用了JavaScript函数作用域的特性, ...

  9. 详尽分析世纪之战:360VS腾讯是两个阶层的抗争

    很不错的一篇文字  分析的也很透彻 [转自中国移动http://labs.chinamobile.com/] 来源:搜狐IT 作者:吃熊掌的鱼 2010-11-01 10:11:51 [ 13967阅 ...

  10. Coremicro Reconfigurable Embedded Smart Sensor Node

    A Coremicro Reconfigurable Embedded Smart Sensor Node has the capability of hosting intelligent algo ...