可扩展标记语言

什么是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属性获取所用子节点
XmlDocumentLoad()方法读取整个xml的结构
 InnerText属性当前节点的值
 Name属性当前节点的名称
XmlNodeChildNodes属性当前节点的所有子节点

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的属性和重要事件

                      属性                                          说明
                 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();

转载于:https://www.cnblogs.com/wangzheand/p/5237656.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值