首页 > 读写配置文件

读写配置文件

写配置文件

public void WriteConfigurationFile(string path){using (System.IO.StreamWriter streamWriter = new System.IO.StreamWriter(path, true)){if (_vdtSource == null || _vdtSource.Rows.Count == 0){return;}string sourceNode = _vdtSource.Rows[0]["TblName"].ToString();string currentNode = string.Empty;streamWriter.WriteLine("");streamWriter.WriteLine(_vsNodeFormat,_vdtSource.Rows[0]["TblName"].ToString(),_vdtSource.Rows[0]["Valid"].ToString(),"","");foreach (System.Data.DataRow row in _vdtSource.Rows){currentNode = row["TblName"].ToString();if (currentNode == sourceNode){streamWriter.WriteLine(_vsFieldFormat, row["ColName"].ToString(), row["ColIndex"]);}else{streamWriter.WriteLine("    ");sourceNode = row["TblName"].ToString();streamWriter.WriteLine(_vsNodeFormat,row["TblName"].ToString(),row["Valid"].ToString(),"","");}}streamWriter.WriteLine("    ");streamWriter.WriteLine("");}}

读配置文件

public class NodeInfoReader{public static NodeMode GetNode(string nodeName, string path){System.Xml.XmlReaderSettings xmlReaderSettings = new System.Xml.XmlReaderSettings();xmlReaderSettings.ProhibitDtd = false;System.IO.FileStream fileStream = new System.IO.FileStream(path,System.IO.FileMode.Open,System.IO.FileAccess.Read,System.IO.FileShare.ReadWrite);fileStream.Seek(0, System.IO.SeekOrigin.Begin);using (System.Xml.XmlReader xmlReader = System.Xml.XmlReader.Create(fileStream, xmlReaderSettings)){string currentNodeName = string.Empty;NodeMode node = null;List<string> lstField = null;while (xmlReader.Read()){switch (xmlReader.NodeType){case System.Xml.XmlNodeType.Element:if (xmlReader.Name == "Node"){currentNodeName = xmlReader.GetAttribute("Name");if (currentNodeName == nodeName){node = new NodeMode();lstField = new List<string>();node.Name = currentNodeName;node.Valid = int.Parse(xmlReader.GetAttribute("Valid"));node.ParseMethod = xmlReader.GetAttribute("ParseMethod");node.NullHandler = xmlReader.GetAttribute("NullHandler");}}else{if (lstField != null){lstField.Add(xmlReader.GetAttribute("Field"));}}break;case System.Xml.XmlNodeType.EndElement:if (xmlReader.Name == "Node" && node != null){node.Field = lstField;return node;}break;}}}return null;}}public class NodeMode{public string Name { get; set; }public int Valid { get; set; }public string ParseMethod { get; set; }public string NullHandler { get; set; }public List<string> Field { get; set; }}

 

转载于:https://www.cnblogs.com/hongjiumu/p/3145081.html

更多相关:

  • importjava.security.SecureRandom;importjavax.crypto.Cipher;importjavax.crypto.SecretKey;importjavax.crypto.SecretKeyFactory;importjavax.crypto.spec.DESKeySpec;//结果与DES算...

  • 题目:替换空格 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 输入:s = "We are happy." 输出:"We%20are%20happy." 限制: 0 <= s 的长度 <= 10000 解题: 时间复杂度:O(n) 空间复杂度:O(n) class Solution { public:s...

  • 在C++11标准库中,string.h已经添加了to_string方法,方便从其他类型(如整形)快速转换成字面值。 例如: for (size_t i = 0; i < texArrSize; i++)RTX_Shader.SetInt(string("TexArr[") + to_string(i) + "]", 7 + i);...

  • Ubuntu 14.04安装并升级之后,变成楷体字体非常难看,我昨天搞了一晚上,终于理了个头绪,这里整理一下。 经过网上调研,大家的一致看法是,使用开源字体库文泉驿的微黑字体效果比较理想,甚至效果不输windows平台的雅黑字体。下面我打算微黑来美化Ubuntu 14.04. 1.安装文泉驿微黑字体库 sudo aptitude...

  • 使用string时发现了一些坑。 我们知道stl 容器并不是线程安全的,所以在使用它们的过程中往往需要一些同步机制来保证并发场景下的同步更新。 应该踩的坑还是一个不拉的踩了进去,所以还是记录一下吧。 string作为一个容器,随着我们的append 或者 针对string的+ 操作都会让string内部的数据域动态增加,而动态增加的...

  • 在.Net Framework中,配置文件一般采用的是XML格式的,.NET Framework提供了专门的ConfigurationManager来读取配置文件的内容,.net core中推荐使用json格式的配置文件,那么在.net core中该如何读取json文件呢?1、在Startup类中读取json配置文件1、使用Confi...

  •   1 public class FrameSubject extends JFrame {   2    3   …………..   4    5   //因为无法使用多重继承,这儿就只能使用对象组合的方式来引入一个   6    7   //java.util.Observerable对象了。   8    9   DateSub...

  • 本案例主要说明如何使用NSwag 工具使用桌面工具快速生成c# 客户端代码、快速的访问Web Api。 NSwagStudio 下载地址 比较强大、可以生成TypeScript、WebApi Controller、CSharp Client  1、运行WebApi项目  URL http://yourserver/swagger 然后...

  •   在绑定完Action的所有参数后,WebAPI并不会马上执行该方法,而要对参数进行验证,以保证输入的合法性.   ModelState 在ApiController中一个ModelState属性用来获取参数验证结果.   public abstract class ApiController : IHttpController,...

  • 1# 引用  C:AVEVAMarineOH12.1.SP4Aveva.ApplicationFramework.dll C:AVEVAMarineOH12.1.SP4Aveva.ApplicationFramework.Presentation.dll 2# 引用命名空间, using Aveva.Applicati...