中国建设监理协会网站会员专区,品牌网站建设平台,在互联网公司做网站,网站开发加盟商怎么做最近在学读取文件 目录 介绍特点结构XML的语法规则XML 命名规则 C#操作XML新建读取第一种第二种第三种 读取属性 介绍
XML (可扩展标记语言#xff0c;eXtensible Markup Language) 是一种标记语言#xff0c;它被设计用来传输和存储数据。
特点
可扩展性#xff1a;由于… 最近在学读取文件 目录 介绍特点结构XML的语法规则XML 命名规则 C#操作XML新建读取第一种第二种第三种 读取属性 介绍
XML (可扩展标记语言eXtensible Markup Language) 是一种标记语言它被设计用来传输和存储数据。
特点
可扩展性由于 XML 的语法灵活可以通过定义新的标记和属性来扩展其功能。可读性XML 的语法结构使其易于阅读和理解。平台无关性XML 可以在不同的平台上被处理和解析如 Windows、Linux、MacOS 等。编码规范XML 规定了严格的语法和编码规范确保数据的正确解析。
结构
一个简单的XML文档展示
第一行是 XML 声明它定义 XML 的版本和所使用的编码)然后是根元素然后是根元素的子元素当然可以继续嵌套
XML的结构由标签、元素、属性和文本组成。 标签tag以尖括号 包围的单词或词组用来起始和结束元素。 元素element指标签包含的整个内容。元素通常由开始标签和结束标签组成有时也可以是自封闭的标签。 属性attribute定义在开始标签内的附加信息。属性是由名称和值组成的它们用空格隔开。 文本text元素内部不包含标签的部分。文本可以包含实际的数据或者说明信息。 XML的语法规则
XML文档必须有一个根元素该元素是所有其他元素的父元素。XML元素的开始标签和结束标签要成对出现。XML标签名严格区分大小写。XML属性必须在开始标签中定义并且属性名和属性值必须用等号分隔。XML属性值必须用引号 或 括起来。XML的注释 !-- 这是注释内容 – 。XML文档必须符合XML规范即必须包含声明。
XML 命名规则
名称不能以数字或者标点符号开始名称不能以字符 “xml”或者 XML、Xml开始名称不能包含空格 C#操作XML
新建 添加—类 选择XML文件-输入一个名称-点击添加 输入内容就可以了
?xml version1.0 encodingutf-8 ?
personperson pmannameLiHua/nameage18/ageheight172/height/personperson pwomannameLing/nameage18/ageheight168/height/person
/person有了这个XML文件之后接下来我们可以对它进行一些操作了 读取
第一种 代码
using System;
using System.Collections.Generic;
using System.IO;
using System.Xml;namespace _02_XML操作
{class Program{static void Main(string[] args){XmlDocument xmlDoc new XmlDocument();xmlDoc.Load(Person.xml);XmlNode root xmlDoc.ChildNodes[1];XmlNodeList personList root.ChildNodes;foreach (XmlNode person in personList){foreach (XmlNode node in person.ChildNodes){Console.WriteLine(node.Name : node.InnerText);}}}}
}运行结果 第二种
using System;
using System.Collections.Generic;
using System.IO;
using System.Xml;namespace _02_XML操作
{class Program{static void Main(string[] args){ListPerson list new ListPerson();XmlDocument xmlDoc new XmlDocument();xmlDoc.LoadXml(File.ReadAllText(Person.xml));XmlNode root xmlDoc.ChildNodes[1];XmlNodeList personList root.ChildNodes;foreach(XmlNode person in personList){Person obj new Person();foreach(XmlNode node in person.ChildNodes){if (node.Name name){obj.name node.InnerText;}else if (node.Name age){obj.age Int32.Parse(node.InnerText);}else if (node.Name height){obj.height Int32.Parse(node.InnerText);}}list.Add(obj);}foreach(Person p in list){Console.WriteLine(p.name , p.age , p.height);}}}
}运行结果 第三种
代码
using System;
using System.Collections.Generic;
using System.IO;
using System.Xml;namespace _02_XML操作
{class Program{static void Main(string[] args){ListPerson list new ListPerson();XmlDocument xmlDoc new XmlDocument();xmlDoc.LoadXml(File.ReadAllText(Person.xml));XmlNode root xmlDoc.ChildNodes[1];XmlNodeList personList root.ChildNodes;foreach(XmlNode person in personList){Person obj new Person();XmlElement nameEle person[name];obj.name nameEle.InnerText;XmlElement ageEle person[age];obj.age Int32.Parse(ageEle.InnerText);XmlElement heightEle person[height];obj.height Int32.Parse(heightEle.InnerText);list.Add(obj);}foreach(Person p in list){Console.WriteLine(p.name , p.age , p.height);}}}
}运行结果
读取属性
代码
using System;
using System.Collections.Generic;
using System.IO;
using System.Xml;namespace _02_XML操作
{class Program{static void Main(string[] args){ListPerson list new ListPerson();XmlDocument xmlDoc new XmlDocument();xmlDoc.LoadXml(File.ReadAllText(Person.xml));XmlNode root xmlDoc.ChildNodes[1];XmlNodeList personList root.ChildNodes;foreach(XmlNode person in personList){Person obj new Person();//读取属性XmlAttributeCollection attriCol person.Attributes;XmlAttribute attri attriCol[p];obj.p attri.Value;XmlElement nameEle person[name];obj.name nameEle.InnerText;XmlElement ageEle person[age];obj.age Int32.Parse(ageEle.InnerText);XmlElement heightEle person[height];obj.height Int32.Parse(heightEle.InnerText);list.Add(obj);}foreach(Person p in list){Console.WriteLine(p.p,p.name , p.age , p.height);}}}
}运行结果 更多内容请前往主页置顶或点击链接直达 【unity3D】游戏开发专栏的目录
【VR】VR开发专栏的目录