可扩展标记语言

什么是Xml?

xml称为可扩展标记性语言,是eXtensible Markup Language 的缩写。在.NET框架中Xml是非常重要的一部分,它用于描述数据,是当前处理结构化文档信息的有力工具。xml与操作系统、编程语言的开发平台无关,可以实现不同系统之间的数据交互!

demol:

<?xml version="1.0" encoding="UTF_8" ?>
<Engineer>
    <!--第一个员工的相关信息-->
    <ID>1002</ID>
    <Name>张靓颖</Name>
    <Age>20</Age>
    <--第二个员工的相关信息-->
    <ID>1003</ID>
    <Name>周杰伦</Name>
    <Age>22</Age>
</Engineer>

上面demol中存储员工相关信息的文件结构与我们之前学习的HTML有些相似,都有标记。很明显Engineer标示的是员工,ID标示的是员工编号,“1002”被<ID>这个标记“包裹”,表示这个员工的ID是“1002”,其他标签的含义与其类似。这种格式的文件被称为Xml文件。

here:

<?xml version =”1.0” encoding=”UTF-8”?>是Xml的声明,它一般是Xml文件的第一行。xml声明有以下两部分组成:

  • version:文档符合xml1.0规范
  • encoding:文档字符编码,默认为“TUF-8”.

<!--第一个员工的相关信息—>,代表xml的注释内容。注释不能被嵌套。

XML语言的特点

  • xml中的每对标记通常被称为节点,他们是成对出现而且必须是成对出现的,用来描写这个节点存储的内容。在节点中存储该节点的信息。
  • xml中用于描述数据的各个节点可以自由扩展,也就是说xml用于描述信息的标记不是固定不变的。例如可以在上面demo中对每个员工的信息进行详细扩展,如:身高,体重等
  • xml文件中的节点区分大小写,例如<Name></Name>和<name></naem>,即使两个节点存储的内容相同 ,xml也认为他们是两个不同的节点。

操作XML的方法

解析XML文件

           对象       属性和方法             说明
  DocumentElement 获取根节点
  ChildNodes属性 获取所用子节点
XmlDocument Load()方法 读取整个xml的结构
  InnerText属性 当前节点的值
  Name属性 当前节点的名称
XmlNode ChildNodes属性 当前节点的所有子节点

demo:

我们有这样夜歌xml文件:

<?xml version="1.0" encoding="UTF-8"?>

<TVChannels>


<Channel>

<channelType>TypeA</channelType>

<tvChannel>北京电视台</tvChannel>

<path>fils/北京电视台.xml</path>

</Channel>


<Channel>

<channelType>TypeB</channelType>

<tvChannel>凤凰卫视</tvChannel>

<path>fils/凤凰卫视.xml</path>

</Channel>

</TVChannels>

我们可以通过以下C#代码将他读取到应用程序中。

XmlDocument myXml = new XmlDocument();
            myXml.Load("FullChannels.xml");
            XmlElement xn = myXml.DocumentElement;
            foreach (XmlNode item in xn)
            {
                Console.WriteLine("{0}\t{1}\t{2}",item["channelType"].InnerText,item["tvChannel"].InnerText,item["path"].InnerText);
            }

下面是结果:

image

动态绑定TreeView

TreeView的属性和重要事件

                      属性                                           说明
                 Nodes TreeView空间中的所有树节点
              SelectedNode 当前TreeView控件的选中节点,如果没有选中任何节点则返回为null
                  重要事件  
                AfterSelect 选中树节点之后发生

TreeNode

                      属性                                           说明
                 Text 节点显示的文本
                 index 节点所在集合的索引
                Level 节点在树状菜单中的层级0、1、2……
                Tag 节点值
                 Nodes 节点所有的下一级子节点
给TreeView添加节点使用Add()方法
this.TreeView1.Nodes.Add(new TreeNode("节点1"))

或者

this.TreeView1.Nodes.Add("节点1")

给选中的节点添加子节点

this.TreeView1.SelectedNode.Nodes.Add("节点1")

TreeView动态删除节点

TreeView的节点是一个集合,其节点的删除方法和集合类似

删除选中的节点

this.TreeView1.SelectedNode.Remove();

清空选中节点的子节点

this.TreeView.SelectedNode.Nodes.Clear();

清空TreeView控件的所有子节点

this.TreeView.Nodes.Clear();
posted @ 2016-03-03 10:43  王哲(真)  阅读(2463)  评论(0编辑  收藏  举报