可扩展标记语言Xml

XML用于描述数据,是当前处理结构化文档信息的有力工具。与操作系统编程语言的开发平台无关,可以实现不同系统之间的数据交互。

<?xml version="1.0" encoding="UTF-8" ?>
 <people>
    <Name>姓名</Name>
    <Sex>性别</Sex>
</people>

代码中第一行是XML声明,它一般在XML文档的第一行。它由两个部分组成:

    version:文档符合XML1.0规范。

    encoding:文档字符编码,默认为“UTF-8”。

    <!--注释-->为注释语法。

  XML语言有3个特点:

    1.XML中的每对标记通常被称为节点,他们是成对出现而且必须成对出现的,用来描述这个节点存储的内容。在节点中存储该节点的信息。

    2.XML中用于描述数据的各个节点可以自由横向扩展和纵向扩展,即可以向下扩展也可以向内扩展(嵌套)。

    3.XML文件中的节点严格区分大小写。例:<Name>名字</Name>和<name>名字</name>这两个节点内容相同,但节点名称不一样,即是两个节点。

操作XML的方法

解析XML文件

对象属性和方法说明
 DocumentElement获取根节点
 ChildNodes属性 
XmlDocumentLoad()方法读取整个xml的结构
 InnerText属性当前节点的值
 Name属性当前节点的名称
XmlNodeChildNodes属性当前节点的所有子节点
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;               //1.引入命名空间
 
namespace Demo
{
    class Program
    {
        static void Main(string[] args)
        {
            XmlDocument doc = new XmlDocument();                                //2.创建XML文件对象
            doc.Load("Path.xml");                                               //3.从指定路径读取整个XML文件的结构
            XmlNode nodes = doc.DocumentElement;                                //4.获取XML文件的根节点
            foreach (XmlNode node in nodes.ChildNodes)                          //5.遍历根节点的子节点
            {
                string name = node["name"].InnerText;                           //6.获取XML文件节点中的内容
                string sex = node["sex"].InnerText;
                Console.WriteLine("姓名:{0},性别:{1}", name, sex);
            }
        }
    }
}

应用示例:

<?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>
 
 
 
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);
            }

动态绑定TreeView

TreeView的属性和重要事件

属性说明
NodesTreeView空间中的所有树节点
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();


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值