zoukankan      html  css  js  c++  java
  • 快速写入Xml文件

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

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

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

     1     private void WriteXml(BindingList<Model.WebServiceLog> listwebservicelog, string XName)
     2         {
     3             DateTime dtNow = Globas.Globas.DtNowTime; ;
     4             string dateString = dtNow.Year.ToString();
     5             dateString += dtNow.Month.ToString().Length < 2 ? ("0" + dtNow.Month.ToString()) : (dtNow.Month.ToString());
     6             dateString += dtNow.Day.ToString().Length < 2 ? ("0" + dtNow.Day.ToString()) : (dtNow.Day.ToString());
     7 
     8             string filePath = ConfigurationManager.AppSettings["path"];
     9             filePath = filePath.EndsWith(@"") ? filePath : (filePath + @"");
    10             filePath = filePath + dateString;
    11             filePath = filePath.EndsWith(@"") ? filePath : (filePath + @"");
    12 
    13             if (Directory.Exists(filePath) == false)
    14             {
    15                 Directory.CreateDirectory(filePath);//判断该路径是否存在,不存在则创建该路径文件夹
    16             }
    17 
    18             filePath = filePath + XName + DateTime.Now.ToString("yyyyMMdd") + ".xml";
    19             String filename = String.Concat(filePath);
    20             using (StreamWriter sw = new StreamWriter(filename, true, System.Text.Encoding.GetEncoding("UTF-8")))
    21             {
    22                 XmlTextWriter xmlWriter = new XmlTextWriter(sw);
    23                 xmlWriter.Formatting = Formatting.Indented;
    24                 xmlWriter.WriteStartDocument();
    25                 xmlWriter.WriteStartElement("Logs");
    26 
    27                 foreach (Model.WebServiceLog webservicelog in listwebservicelog)
    28                 {
    29                     xmlWriter.WriteStartElement("Log");
    30                     xmlWriter.WriteElementString("UseDate", webservicelog.UseDate);
    31                     xmlWriter.WriteElementString("Method", webservicelog.Method);
    32                     xmlWriter.WriteElementString("Parameter", webservicelog.Parameter);
    33                     xmlWriter.WriteElementString("UseOrReturn", webservicelog.UseOrReturn);
    34                     // close contact </contact> 
    35                     xmlWriter.WriteEndElement();
    36                 }
    37                 // close contacts </contact> 
    38                 xmlWriter.WriteEndElement();
    39                 xmlWriter.WriteEndDocument();
    40                 xmlWriter.Close();
    41             }
    42         }

    调用方式:

    1 WriteXml(listWebservice, "Info_");
  • 相关阅读:
    【ASP.NET 进阶】根据IP地址返回对应位置信息
    【网络文摘】编程的智慧
    【ASP.NET 类库】当你懒得用 Json+Ajax 时,可以试试 AjaxPro
    【iOS 初见】第一个简单的 iOS 应用
    【C#】C# 实现发送手机短信
    【网络文摘】一家公司要了你后,凭什么给你开高工资?
    深入理解Java虚拟机01--概述
    Java虚拟机(五)Java的四种引用级别
    OkHttp3源码详解(六) Okhttp任务队列工作原理
    OkHttp3源码详解(五) okhttp连接池复用机制
  • 原文地址:https://www.cnblogs.com/haibing0107/p/7878702.html
Copyright © 2011-2022 走看看