可扩展标记语言XML

可扩展标记语言XML

1.1 XML的概述

1.1.1 什么是XML

​ XML的含义: XML称为可扩展标记性语言(eXtensible Markup Language)。XML是一种标记语言很类似于HTML语言,不过XML用于传输和存储数据而非显示数据。并且XML仅仅是纯文本。XML还是W3C的推荐标准。

1.1.2 XML的结构

​ XML 文档形成了一种树结构,它从“根部”开始,然后扩展到“枝叶”。XML 文档必须包含根元素。该元素是所有其他元素的父元素。

​ 例如:

<?xml version="1.0" encoding="UTF-8" ?>
<Enginner>
	<!--第一个员工的相关信息-->
	<ID>1002</ID>
	<Name>张靓</Name>
	<Age>20</Age>
	<!--第二个员工的相关信息-->
	<ID>1001</ID>
	<Name>周杰</Name>
	<Age>22</Age>
</Enginner>

1.2.3 XML的语法和命名规则

1、XML语法:

​ (1)所有 XML 元素都须有关闭标签。

​ (2)XML 标签对大小写敏感。

​ (3)XML 必须正确地嵌套。

​ (4)XML 文档必须有根元素。

​ (5)XML 的属性值须加引号。

2、XML命名规则:

​ (1)名称可以含字母、数字以及其他的字符。

​ (2)名称不能以数字或者标点符号开始。

​ (3)名称不能以字符 “xml”(或者 XML、Xml)开始。

​ (4)名称不能包含空格。

3、XML实体的引用和注释:

注释:<!--内容-->

​ 实体的引用:

&lt;<小于
&gt;>大于
&amp;&和号
&apos;单引号
&quot;‘’引号

1.1.4 XML的用途

​ XML 应用于 web 开发的许多方面,常用于简化数据的存储和共享。

​ (1)XML 把数据从 HTML 分离

​ (2)XML 简化数据共享

​ (3)XML 简化数据传输

​ (4)XML 简化平台的变更

​ (5)XML 使您的数据更有用

1.1.5 XML和HTML的区别

​ (1)XML 不是 HTML 的替代。

​ (2)XML 和 HTML 为不同的目的而设计。

​ (3)XML 被设计为传输和存储数据,其焦点是数据的内容。

​ (4)HTML 被设计用来显示数据,其焦点是数据的外观。

​ (5)HTML 旨在显示信息,而 XML 旨在传输信息。

1.2 操作XML的方法

1.2.1 解析XML文件

解析XML文件的步骤:

​ (1)导入命名空间:

using System.Xml;

​ (2)new一个XmlDocuemnt对象:

XmlDocuemnt xmlD = new XmlDocument();

​ (3)加载xml文件:

 xmlD.Load("xml文件路径");

​ (4)读取节点:

//读取根节点:
XmlNode node = xmlD.DocumentElement;
XmlElement xmlE = xmlD.DocumentElment;
//读取子节点:
foreach(XmlNode nodes in node.ChildNodes){}

​ 例如:

static void Main(string[] args)
        {
            XmlDocument myXml = new XmlDocument();
            myXml.Load("Enginner.xml");//读取指定的XML文档
            XmlNode engineer = myXml.DocumentElement;//读取XML的根节点
            foreach (XmlNode node in engineer.ChildNodes)//对子节点进行循环
            {
                //将每个节点的内容显示出来
                switch (node.Name)
                {
                    case "ID":
                        Console.WriteLine("ID:{0}", node.InnerText);
                        break;
                    case "Name":
                        Console.WriteLine("姓名:{0}",node.InnerText);
                        break;
                    case "Age":
                        Console.WriteLine("年龄:{0}", node.InnerText);
                        break;
                }
            }
            Console.Read();
        }

1.2.2 操作XML的对象和属性方法

(1)XmlDocument对象:

属性和方法说明
DocmentElement属性获取根节点
ChildNodes属性获取所有子节点
Load()方法读取整个XML的结构

(2)XmlNode对象:

属性和方法说明
InnerText属性当前节点的值
Name属性当前节点的名称
ChildNodes属性当前节点的所有子节点

​ 例如:

static void Main(string[] args)
        {
            XmlDocument xmlDoc = new XmlDocument();
            //加载xml文件
            xmlDoc.Load("FullChannels.xml");
            //获取根节点
   		   //XmlNode xmlRoot = xmlDoc.DocumentElement;
            XmlElement xmlRoot = xmlDoc.DocumentElement;
            //遍历Channel
            foreach (XmlNode node in xmlRoot.ChildNodes)
            {
                //按节点名称查找节点对象
                Console.WriteLine(node["ChannelType"].InnerText + "\t" + node["tvChannel"].InnerText + "\t" + node["path"].InnerText);
            }
            Console.ReadLine();
        }

(3)区别XmlNode和XmlElement:

​ 1、XmlNode是abstarct,XmlElement是class。

​ 2、XmlElement是XmlNode的子类。

1.3 用TreeView显示数据

1.3.1 TreeView动态添加节点

​ 给TreeView添加子节点用Add()方法。

​ (1)创建一个TreeNode节点

			//创建一个节点对象
            TreeNode rootNode = new TreeNode(this.txtTitle.Text);
            //添加节点为TreeView
            this.tvMenu.Nodes.Add(rootNode);

​ (2)Add()方法的参数可以是文本

this.tvMenu.Nodes.Add("音乐新闻");

​ (3)Add()方法的返回值是当前添加的节点对象

TreeNode rootNode;
rootNode = this.tvMenu.SelectedNode.Nodes.Add("音乐频道");

​ (4)给选中的节点添加子节点

this.tvMenu.SelectedNode.Add(node);

//例如:
//创建一个子节点对象
TreeNode childNode = new TreeNode(this.txtTitle.Text);
//添加节点为选中节点的子节点
this.tvMenu.SelectedNode.Nodes.Add(childNode);

1.3.2 TreeView的属性和重要事件以及TreeNode的属性

(1)TreeView的属性和重要事件:

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

(2)TreeNode属性:

属性说明
Text节点显示的文本
Index节点在所在集合的索引
Level节点在树状菜单中的层级
Tag节点值
Nodes节点的所有下一级节点

1.3.2 TreeView动态删除节点

​ (1)选中删除的节点

this.tvMenu.SelectedNode.Remove();

​ (2)清空选中的节点的子节点

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

​ (3)清空TreeView控件的所有子节点

this.tvMenu.Nodes.Clear();

1.4总结

(1)XML称为可扩展标记语言,它主要用于传输和存储数据。

(2)读取一个XML文档使用XmlDocument对象,XML节点使用XmlDoc对象表示。

(3)XmlDocument对象的DocumentElement属性可以获得XML文档的根节点,ChildNode属性可以获得所有子节点。

(4)通过TreeNode的Add()方法可以给TreeView添加节点,Remove()方法可以移除指定的节点,Clear()方法可以移除指定节点下的所有节点。

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值