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属性 | 获取所用子节点 | |
XmlDocument | Load()方法 | 读取整个xml的结构 |
InnerText属性 | 当前节点的值 | |
Name属性 | 当前节点的名称 | |
XmlNode | ChildNodes属性 | 当前节点的所有子节点 |
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的属性和重要事件
属性 | 说明 |
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();