先来测试一下xml的读取好了
创建了一个student.xml的文件
<?xml version="1.0" encoding="UTF-8"?> <students> <student position="班长"> <name>张三</name> <age>15</age> <sex>男</sex> </student> <student position="学习委员"> <name>李四</name> <age>14</age> <sex>女</sex> </student> <student> <name>王五</name> <age>16</age> <sex>男</sex> </student> </students>
然后写了一个测试方法
[TestMethod] public void TestXml() { XmlDocument xml = new XmlDocument();//XML对象 try { xml.Load("student.xml");//读取XML文件 XmlNode students = xml.ChildNodes[1];//找第二个xml节点 XmlNodeList listnodes= students.SelectNodes("student");//找students下所有符合的节点 XmlNode student = students.SelectSingleNode("student");//找students下第一个符合的节点 XmlAttribute xmla = student.Attributes[0];//找属性 string xmlastring = xmla.Value;//属性值 Console.WriteLine(xmlastring);//取出第一个学生的属性值 var sex1 = listnodes[1].SelectSingleNode("sex").InnerText;//取出第二个学生的性别 Console.WriteLine(sex1); } catch (Exception ex) { Console.WriteLine("加载失败:加载路径或格式不正确"); } }
运行结果
config用法
创建一个config代码如下
<?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <add key="张三" value="603班"/> <add key="李四" value="601班"/> </appSettings> <connectionStrings> <add name="dbtest" connectionString="Data Source=.;Initial Catalog=EMQ_MANAGE;User ID=sa password=zkx123"/> <add name="students" connectionString="Data Source=192.168.1.111;Initial Catalog=orcl;User ID=sa password=zkx123"/> </connectionStrings> </configuration>
以下是测试代码
[TestMethod] public void testConfig() { string value = ConfigurationManager.AppSettings["张三"];//获取appseting节点的值 string value1 = ConfigurationManager.AppSettings[1]; string value2 = ConfigurationManager.ConnectionStrings["dbtest"].ToString();//获取数据库连接字符串 string value3 = ConfigurationManager.ConnectionStrings["students"].ToString();//获取数据库连接字符串 ConfigXmlDocument cxd = new ConfigXmlDocument();//和XmlDocument一样的用法只不过一个是读xml一个是读config cxd.Load("../../App.config"); var value4 = cxd.ChildNodes[1].SelectSingleNode("connectionStrings").SelectNodes("add")[0].Attributes["name"].Value; var value5 = cxd.ChildNodes[1].SelectSingleNode("connectionStrings").SelectNodes("add")[0].Attributes["connectionString"].Value; Console.WriteLine(value);//获取appseting节点名字叫张三的值 Console.WriteLine(value1);//获取第二个节点的值 Console.WriteLine(value2);//获取["dbtest"]数据库连接 Console.WriteLine(value3);//获取第二个节点的数据库连接字符串 Console.WriteLine(value4);//用XML的方式获取第一个节点的name值 Console.WriteLine(value5);//用XML的方式获取第一个节点的connectionString值 }
运行结果
txt的读写
首先创建了一个message.txt的文本注意他的字符集如果字符集错了就会出现乱码我就已UTF-8为例子好了
然后进行写入和读取操作
[TestMethod] public void TestTxt() { StreamWriter sw = new StreamWriter("message.txt",true, Encoding.UTF8);//创建写流 sw.WriteLine("");//空表示直接换行 sw.WriteLine("你好");//写入内容 sw.WriteLine("我是新来的甲六");//写入内容 sw.Close(); FileStream fs = new FileStream("message.txt", FileMode.Open);//创建文件流 StreamReader sr = new StreamReader(fs, Encoding.UTF8);//创建读流 // sr.CurrentEncoding = Encoding.UTF8; var textvalue = sr.ReadToEnd();//从头读到尾 sr.Close(); fs.Close(); Console.WriteLine(textvalue); }
由于时间匆忙就只写了一种
注意:用流进行读写的时候一定要记得关闭
运行测试结果
打开TXT文本