一.XML文件

一.XML文件

简介:XML可拓展标记语言,设计被用来传输和保存数据

结构:是一个树形结构,必须有一个根节点

XML文件与HTMl的区别

1.XML 和 HTML 为不同的目的而设计,它们不是同一种东西。

2.XML 被设计为传输和存储数据,其主要的作用是数据的内容。

3.HTML 被设计用来显示数据,其主要的作用是数据的外观。

4.HTML 旨在显示信息,而 XML 旨在传输信息。

5.XML是纯文本,HTML是超文本

语法规则

1.所有的XMl文件必须要有关闭的标签

2.XML文件对的大小写敏感

3.XML文件必须具有一个根节点

4.XML文件必须正确的嵌套

5.XML 的属性值须加引号

XML文件的读取

1.首先new一个XmlDocument的对象

​ XmlDocument xmlDoc=new XmlDocument();

2.加载XML文件

​ XmlDoc=Load(“路径”);

3.得到根节点

​ XmlNode/XmlElement node=xmlDoc.DocumentElemet;

​ 其中XmlNode为抽象类,XmlElement为它的子类

4.循环遍历子节点

​ foreach(XmlNode node2 in node.chidNodes){}

示例;

  public TybeBchannels() { }
        public override void FethProgram()
        {
            XmlDocument xmlD = new XmlDocument();
            try
            {
                xmlD.Load(base.Path);
            }
            catch (Exception )
            {

                System.Windows.Forms.MessageBox.Show(base.TvChannel + "的清单找不到!");
                return;
            }
            if (ProgramList == null)
            {
                ProgramList = new List<ProgramList>();
            }
            XmlNode xNode = xmlD.DocumentElement;
            foreach (XmlNode node in xNode.ChildNodes)
            {
                    foreach (XmlNode subNode in node.ChildNodes)
                    {
                    ProgramList pro = new ProgramList();
                    pro.PlayTime = subNode["playTime"].InnerText;
                    pro.Name = subNode["name"].InnerText;
                    pro.Path = subNode["path"].InnerText;

                    base.ProgramList.Add(pro);
                }
            }
        }

树形控件TreeView

事件:节点被选中的事件(AfterSelect)
属性:节点的文本(Text);隐藏域(Tag);所有子节点(Nodes);添加子节点(Add);深度,位于第几层Level);(下标,位于当前层的第几个(Index)

二.文件的操作

命名空间:System.IO

文件的读写操作

1…创建文件流对象

FileStream stream =new FileStream (String 路径,FileMode的打开方式); FileStream stream = new FileStream(“文件路径”, 文件的打开方式:FileMode);

FileMode是enum的枚举,是文件的打开方法;

枚举:约定一个变量的值的范围

CreateNew创建新的文件,如果文件已经存在会异常
Create创建新文件,文件如果已经存在了直接打开已经存在的文件
Open打开一个已经存在的文件,如果文件不存在会报错
OpenOrCreat[Open打开,create创建,or或者]文件存在则打开已经存在的文件;文件不存在先创建一个新的文件,再打开
Truncate文件存在,先把里面的内容删除,然后再往里面写内容;文件不存在,异常
AppendAppend追加,打开一个已经存在的文件,在最后添加内容;如果文件不存在,则异常

2、创建阅读器/写入器

1.阅读器:StreamReader
(1)创建对象:
StreamReader sr= new StreamReader(文件流);
(2)StreamReader常用方法:
ReadLine(): 读取文件一行
ReadToEnd():读取到文件的末尾
Close()关闭
2.写入器
(1)创建对象:
StreamWriter sw = new StreamWriter(文件流);
(2)常用方法:
Write():输出后不换行
WriteLine():输出后换行
Close():关闭

3、执行读写操作

4、关闭阅读器/写入器

5、关闭文件流

static和非static类的区别

​ <1>.static只能包含静态成员;非static可以包含非静态成员

​ <2>.static类只能通过类名去调用成员

​ <3>.static类不能实例化,static类不能够包含构造函数

文件的操作

File类:用于对文件进行操作

1.File类的常用方法:

属性:Exists(string path):用于检查指定文件是否存在

​ Copy(string sourceFilePath,string destinationFilePath):指定路径的源文件的内容复制到目标文件中,如 果目标文件不存在,在指定路径新建一个文件

​ Move(string sourceFilePath,string destinationFilePath):将指定文件移到一个新的路径

​ Delete(string path):删除指定的文件,如果指定的文件不存在,不引发异常

2.FileInfo类:可以完成对文件的的基本操作

属性:Exists:用于检查指定文件是否存在,返回一个布尔值

​ Extension:获取表示文件扩展名部分的字符串

​ Name:获取文件名

​ FullName:获取目录或文件的完整目录

方法:CopyTo(string):将现有文件复制到新文件,不允许覆盖现有文件

​ Delete():永久删除文件

​ MoveTo(string):将指定文件移到新位置

目录的操作

1.Directory类用于对文件夹进行操作

属性:Exists(string path):用于检查指定文件夹在磁盘上是否存在
Move(string sourceDirName,string destDirName):用于将文件或目录及其内容移到新位置

​ Delete(string path,bool recursive):删除指定目录,如果recursive值为true,删除子目录中的所有目录内 容

​ CopyTo(原来路径,新路径):将现有文件复制到新文件,不允许覆盖现有文件

​ Delete():永久删除文件

​ String[] GetDirectories(path):获取所有子目录

​ String[] GetFiles(path):获取所有子文件

2.DirectoryInfo类与Directory类功能类似,可以完成对文件夹的基本操作

属性:Exists:判断是否存在;

​ Name:名字

方法:MoveTo(newPath):移到

​ GetDirectories():该方法返回当前目录对象数组

​ GetFiles():该方法返回当前目录下的文件列表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值