C#中XML基础用法

 更新时间:2021年12月18日 09:53:17   作者:张玉昊  
可扩展标记语言,标准通用标记语言的子集,简称XML。是一种用于标记电子文件使其具有结构性的标记语言。这篇文章介绍了C#中XML基础的用法,下面的实例代码,大家可以看看

什么是XML?

XML:可扩展标记语言。

XML的作用:

纯文本,兼容性强。

和HTML的区别:

xml: 主要用来处理、存储数据。无规定标签,可扩展。

html:对数据的显示和描述。 语法标签固定。

XML语法特点:

区分大小写。

只能有一个根节点。

标签成对出现。

属性用双引号。

没有预定标签,用什么写什么

文档声明:<?xml version=".." encoding="...">

注释: <!--   -->

CDATA: 原意文本 <![CDATA[..] ] >

xmldocument 操作:

class Program
    {
        static void Main(string[] args)
        {
            //实现xml的写入
            //1、在内存中构建Dom对象
            XmlDocument xmlDoc = new XmlDocument();
            //增加文档说明
            XmlDeclaration xmlDeclaration = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", "yes");
            xmlDoc.AppendChild(xmlDeclaration);
            //增加根元素
            //  创建根元素
            XmlElement rootElement = xmlDoc.CreateElement("school");
            xmlDoc.AppendChild(rootElement);
            //3、增加子元素,接下来添加的子元素增加到rootElement节点下
            XmlElement xmlClassElement = xmlDoc.CreateElement("class");
            // 为class元素添加id属性
            XmlAttribute attr = xmlDoc.CreateAttribute("id");
            attr.Value = "x01";
            xmlClassElement.Attributes.Append(attr);
            rootElement.AppendChild(xmlClassElement);
            //4、为class创建student节点。
            XmlElement xmlStudentElement = xmlDoc.CreateElement("student");
            // 为student元素添加sid 属性.
            XmlAttribute studentAttr = xmlDoc.CreateAttribute("sid");
            studentAttr.Value = "s011";
            xmlStudentElement.Attributes.Append(studentAttr);
            xmlClassElement.AppendChild(xmlStudentElement);
            //student中增加name节点。
            XmlElement xmlNameElement = xmlDoc.CreateElement("name");
            xmlNameElement.InnerText = "天";
            xmlStudentElement.AppendChild(xmlNameElement);


            //2、将该Dom对象写入xml文件中
            xmlDoc.Save("school.xml");
            Console.WriteLine("ok");
        }
    }

以上方法可以用循环写入。

xdocument 操作。

class Program
    {
        static void Main(string[] args)
        {
            //  通过xdocument 写入文件
            List<Person> list = new List<Person>();
            list.Add(new Person() { Name = "Sam", Age = 18 });
            list.Add(new Person() { Name = "Penny", Age = 20 });
            // 1、 创建Dom对象。
            XDocument xDoc = new XDocument();
            XDeclaration xDec = new XDeclaration("1.0", "utf-8", null);
            // 设置文档定义
            xDoc.Declaration = xDec;
            //2、创建根节点
            XElement rootElement = new XElement("List");
            xDoc.Add(rootElement);
            //3、循环创建节点
            for (int i = 0; i < list.Count; i++)
            {
                XElement PersonElement = new XElement("Person");
                PersonElement.SetAttributeValue("id", (i + 1).ToString());

                PersonElement.SetElementValue("Name", list[i].Name);
                PersonElement.SetElementValue("Age", list[i].Age);
                rootElement.Add(PersonElement);
            }
            xDoc.Save("List.xml");
            Console.WriteLine("ok");
        }
    }
    class Person
    {
        public string Name { get; set; }
        public  int Age { get; set; }
    }
class Program
    {
        static void Main(string[] args)
        {
            //读取XML文件。
            XDocument document = XDocument.Load("List.xml");
            XElement rootElement = document.Root;
            Console.WriteLine("订购人:{0}",rootElement.Element("CustomerName").Value);
            foreach (var item in rootElement.Element("Items").Elements("OrderItem"))
            {
                Console.WriteLine("商品名称:{0}",item.Attribute("Name").Value);
            }
            
        }  
    }

到此这篇关于C#中XML基础用法的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • C# 拼图魔方小游戏

    C# 拼图魔方小游戏

    这篇文章主要介绍了C# 拼图魔方小游戏,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • 简述C#枚举高级战术

    简述C#枚举高级战术

    这篇文章主要介绍了简述C#枚举高级战术,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • 理解C#中的事件

    理解C#中的事件

    这篇文章主要介绍了理解C#中的事件,本文讲解了使用委托中的问题、事件的出现、深入理解事件、C#属性的概念、事件代码的转换等内容,需要的朋友可以参考下
    2015-02-02
  • 详解C# 虚方法virtual

    详解C# 虚方法virtual

    这篇文章主要介绍了C# 虚方法virtual的相关资料,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-04-04
  • C#实现餐饮管理系统完整版

    C#实现餐饮管理系统完整版

    这篇文章主要为大家详细介绍了C#实现餐饮管理系统的完整版,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • C#动态创建button的方法

    C#动态创建button的方法

    这篇文章主要介绍了C#动态创建button的方法,涉及C#按钮属性动态设置的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • C#实现json格式数据解析功能的方法详解

    C#实现json格式数据解析功能的方法详解

    这篇文章主要介绍了C#实现json格式数据解析功能的方法,结合实例形式较为详细的分析了C#解析json格式数据的具体操作步骤与相关注意事项,需要的朋友可以参考下
    2017-12-12
  • C#中struct和class的区别详解

    C#中struct和class的区别详解

    这篇文章主要介绍了C#中struct和class的区别,对C#初学者来说是需要牢固掌握的,需要的朋友可以参考下
    2014-08-08
  • C#多线程的Join()方法

    C#多线程的Join()方法

    这篇文章介绍了C#多线程的Join()方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • C# 设置Chart的X轴为时间轴​​​​​​​详情

    C# 设置Chart的X轴为时间轴​​​​​​​详情

    这篇文章主要介绍了C#设置Chart的X轴为时间轴​​​​​​​详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08

最新评论