C# 基础复习 三 XML操作
XML 可扩展标记语言(所有标签都是自己定义,没有固定格式)
如果要给XML规定格式,可以使用dtd (dtd是什么?你不会自己百度吗)
XML主要用来存储数据
XML的要求:
根节点只能有一个
每个节点必须结束
<student> <class name="T139"> <student id="1" name="张三" /> <student id="2" name="李四" /> <student id="3" name="王五" /> <student id="4" name="赵六" /> </class> <class name="T138"> <student id="1" name="张一" /> <student id="2" name="李二" /> <student id="3" name="王三" /> <student id="4" name="赵四" /> </class> </student>
要让xml出现在Debug文件夹中,设置属性为“如果较新则复制”
如果较新则复制:只有在直接修改xml文件时才会重新复制,使用代码更改内部时不会重新复制
using system.xml 操作xml的命名空间
xml和html类似,操作html时需要一个文档对象(document),而在xml中是XmlDocument
XmlDocument doc = new XmlDocument(); doc.Load("xml路径"); //读取xml文件 var rootNode = doc.DocumentElement //获取根节点 roodNode.ChildNodes//获取某个节点的子节点 rootNode.Attributes["属性名称"].Value; //获取某个节点中某个属性的值 doc.CreateElement("节点名");//创建一个新节点 rootNode.AppendChild(节点对象);//为某个节点添加一个子节点 doc.CreateAttribte("属性名")//创建一个新属性 Attribte.Value = "值"; //给属性赋值 rootNode.Attributes.Append(属性对象) //给某个节点添加属性 doc.Save("xml路径");//保存到某xml文件中 doc.SelectNodes("XML层级表达式");
XML 层级表达式
"students/class[@name='T139']/Student" //students中所有name为T139的class中的所有Student
linq for xml 用linq的方式查找xml
XML格式的文件最常见的就是配置文件
配置文件中常用的节点
appSettings 应用程序设置 一些数据较少的细节设置(字体,logo,默认账号)可以不存入数据库,直接写在配置文件,可以提高性能
<appSettings> <add key="fontcolor" value="red"/> </appSettings>
ConfigurationManager.AppSettings["fontcolor"] //获取值