C#操作文件记录
来源:互联网 发布:ipad软件下载助手 编辑:程序博客网 时间:2024/05/18 01:06
1、读取普通文本文件,返回字符串
string filePath = @"f:\data.txt"; StreamReader sr = new StreamReader(filePath, System.Text.Encoding.Default); String str = sr.ReadToEnd();2、使用XmlDocument操作xml文件
xml文件内容如下:
<?xml version="1.0" encoding="utf-8"?><class> <!--注释--> <student sex="男" id="1"> <name>王小二</name> <birthdate>201209</birthdate> </student> <student sex="女" id="2"> <name>李小丫</name> <birthdate>199908</birthdate> </student> <student sex="男" id="3"> <name>张大大</name> <birthdate>196009</birthdate> </student></class>使用XmlDocument需引入命名空间:using System.xml;
class Program { static void Main(string[] args) { string xmlFilePath = @"f:\test.xml"; Program p = new Program(); p.readXml(xmlFilePath,true); // p.addXmlNode(xmlFilePath); // Console.WriteLine("增加节点结束"); // p.deleteXmlNode(xmlFilePath); // Console.WriteLine("删除节点结束"); p.updateXmlNode(xmlFilePath); Console.Read(); }
//读取xml文件内容 private void readXml(string xmlFilePath,bool isContainsComment) {//isContainsConment用于标志xml文件中是否含有注释 List<Student> studentList = new List<Student>(); XmlDocument xmlDoc = new XmlDocument(); if (isContainsComment) { XmlReaderSettings xrSet = new XmlReaderSettings(); xrSet.IgnoreComments = true; XmlReader xr = XmlReader.Create(xmlFilePath, xrSet); xmlDoc.Load(xr); xr.Close(); } else { xmlDoc.Load(xmlFilePath); } XmlNode xn = xmlDoc.SelectSingleNode("class"); XmlNodeList xnl = xn.ChildNodes; foreach (XmlNode xn0 in xnl) { Student stu = new Student(); XmlElement xe = (XmlElement)xn0; stu.Sex = xe.GetAttribute("sex"); stu.Id = xe.GetAttribute("id"); XmlNodeList xnl0 = xe.ChildNodes; stu.Name = xnl0.Item(0).InnerText; stu.Birthdate = xnl0.Item(1).InnerText; studentList.Add(stu); } foreach (Student stu0 in studentList) { Console.WriteLine(stu0.Name + " " + stu0.Birthdate + " " + stu0.Sex); } }
//增加xml节点 private void addXmlNode(string xmlFilePath) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(xmlFilePath); XmlNode xnRoot = xmlDoc.SelectSingleNode("class"); XmlElement xeNew = xmlDoc.CreateElement("student"); //属性 XmlAttribute xa = xmlDoc.CreateAttribute("sex"); xa.InnerText = "男"; xeNew.SetAttributeNode(xa); XmlAttribute xa1 = xmlDoc.CreateAttribute("id"); xa1.InnerText = "4"; xeNew.SetAttributeNode(xa1); //子元素 XmlElement xeChild = xmlDoc.CreateElement("name"); xeChild.InnerText = "新增加"; xeNew.AppendChild(xeChild); XmlElement xeChild2 = xmlDoc.CreateElement("birthdate"); xeChild2.InnerText = "202201"; xeNew.AppendChild(xeChild2); xnRoot.AppendChild(xeNew); xmlDoc.Save(xmlFilePath); }
//修改xml节点 private void updateXmlNode(string xmlFilePath) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(xmlFilePath); XmlElement xe = (XmlElement)xmlDoc.SelectSingleNode("/class/student[@id=\"1\"]"); xe.SetAttribute("sex","女"); xmlDoc.Save(xmlFilePath); }
//删除xml节点 private void deleteXmlNode(string xmlFilePath) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(xmlFilePath); XmlElement xe = (XmlElement)xmlDoc.SelectSingleNode("/class/student[@id=\"4\"]"); xe.ParentNode.RemoveChild(xe); xmlDoc.Save(xmlFilePath); } }
3、XmlTextWriter实现xml文件的写入操作
StreamWriter sw=new StreamWriter("f:\\test2.xml"); XmlTextWriter xtw = new XmlTextWriter(sw); xtw.WriteStartDocument(); xtw.WriteStartElement("class"); xtw.WriteAttributeString("id","1"); xtw.WriteStartElement("student"); xtw.WriteAttributeString("id","01"); xtw.WriteString("wang"); xtw.WriteEndElement(); xtw.WriteEndElement(); xtw.WriteEndDocument(); sw.Flush(); sw.Close();
0 0
- C#操作文件记录
- C#记录日志,文件操作
- xml操作记录--c#
- c#日志记录文件
- MASM-文件记录操作
- 文件操作记录
- C# 创建文件日志记录
- c#文件乱码问题记录
- C#中的文件操作
- C# 文件操作
- C# 文件操作
- c#文件操作
- C#中的文件操作
- C#文件操作
- c#文件操作
- C# 文件操作相关
- c# 常用文件操作
- c# 常用文件操作
- 安全有效的实现两星期内自动登陆功能
- 地图的开发研究--基于openlayers+geoserver+tomcat的离线地图--postgis空间数据库
- setsockopt 设置 SO_LINGER 选项 关闭连接
- 配置Guice Servlet
- _flash_removeCallback未定义异常的解决方案
- C#操作文件记录
- C语言inline函数的使用方法
- 奋斗在架构师的道路上
- YARN应用实例
- OpenGL ES 片元着色器中 int 类型精度不匹配的问题分析
- Spring3 MVC 最简单的入门示例(转载)
- 录制了内核重新编译的视频,in linux-0.11
- Unity插件研究院之ResourceChecker
- 黑马程序员---java7k面试---12交通