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基础用法的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • c# 读取XML文件的示例

    如下XML文件:(算是一个属性值比较多的xml文件...读取该Xml算是我在公司实际的一个任务) <?xml version="1.0" encoding="UTF-8"?> <serverset> <devset PrintNumber="1" ControlBarcode="" ControlEBarcode="" ControlPIX="" Print

  • C# 解析XML和反序列化的示例

    本次为了记录开发一个基于webservice接口,去解析对方传送过来的xml字符串.实际使用时遇到的一些问题. 传输过来的xml格式大致如下: <?xml version="1.0" encoding="UTF-8"?> <messages xmlns="http://www.test.com/hit/rhin" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&

  • C# XmlDocument操作XML案例详解

    C# XmlDocument操作XML XML:Extensible Markup Language(可扩展标记语言)的缩写,是用来定义其它语言的一种元语言,其前身是SGML(Standard Generalized  Markup Language,标准通用标记语言).它没有标签集(tag set),也没有语法规则(grammatical rule),但是它有句法规则(syntax rule). 任何XML文档对任何类型的应用以及正确的解析都必须是良构的(well-formed),即每一个打开

  • C#操作XML方法详解

    目录 using System.Xml; //初始化一个xml实例 XmlDocument xml=new XmlDocument(); //导入指定xml文件 xml.Load(path); xml.Load(HttpContext.Current.Server.MapPath("~/file/bookstore.xml")); //指定一个节点 XmlNode root=xml.SelectSingleNode("/root"); //获取节点下所有直接子节点

  • C# 中对象序列化XML的方法

    今天我们来看一下在C#中对象序列化XML的方法. 不得不说,在这个Json横行的年代,XML虽然式微,但也的确是一股子清流.(个人感觉) 不多说,直接开始. 首先先说怎么用 需要用到的是这两个命名空间(主要) using System.Xml; using System.Xml.Serialization; 然后序列化和反序列化的方式和Json一样.(后面提供封装方法) string result = XmlSerializeHelper.Serialize<test>(new test {

  • C#中XML基础用法

    什么是XML? XML:可扩展标记语言. XML的作用: 纯文本,兼容性强. 和HTML的区别: xml: 主要用来处理.存储数据.无规定标签,可扩展. html:对数据的显示和描述. 语法标签固定. XML语法特点: 区分大小写. 只能有一个根节点. 标签成对出现. 属性用双引号. 没有预定标签,用什么写什么 文档声明:<?xml version=".." encoding="..."> 注释: <!--   --> CDATA: 原意文本

  • python中partial()基础用法说明

    前言 一个函数可以有多个参数,而在有的情况下有的参数先得到,有的参数需要在后面的情景中才能知道,python 给我们提供了partial函数用于携带部分参数生成一个新函数. 在functools模块中有一个工具partial(),可以用来"冻结"一个函数的参数,并返回"冻结"参数后的新函数. 很简单的解释,也是官方手册给的示例.对于int()函数,它可以将给定的数值转换成十进制整数,转换时可以指定以几进制的方式解析给定的数.例如: # 以10进制解析123,并转换成

  • C++中TinyXML读取xml文件用法详解

    目录 前言 XML文件理解 常用的XML类方法使用 总结 前言 TinyXML下载地址:https://sourceforge.net/projects/tinyxml/ 官方文档:TinyXML TinyXML是个解析库,它由两个头文件(.h文件)和四个CPP文件(.cpp文件)构成,用的时候,只要将(tinyxml.h.tinystr.h.tinystr.cpp.tinyxml.cpp.tinyxmlerror.cpp.tinyxmlparser.cpp)导入工程就可以用它的东西了.如果需要

  • Spring中xml配置文件的基础使用方式详解

    目录 1. xml配置文件的读取 1.1 通过类路径读取配置文件 1.2 通过文件系统绝对路径读取配置文件 1.3使用BeanFactory接口读取配置文件 2.带参构造对象的创建(constructor-arg标签) 3.使用另一个类中的方法创建对象,并放到Spring容器中 4.调用另一个类中的静态方法创建对象,并放到Spring容器中 5.对象的生命周期 6.单例多例的测试 1. xml配置文件的读取 目录结构 applicationContext.xml配置文件 <?xml versio

  • Vue中判断语句与循环语句基础用法及v-if和v-for的注意事项详解

    目录 一.判断语句 v-if.v-else.v-else-if v-show 案例 二.循环语句 遍历数组 遍历对象 三.v-if和v-for的注意事项 总结 一.判断语句 v-if.v-else.v-else-if v-if是判断是否将DOM元素显示出来 不满足条件的元素,会直接删除,不会存在浏览器上面 v-show 也是用来判断,是否将DOM元素在页面上显示,但是与v-if有着区别,它的不显示是通过display:none;实现的,还是存在浏览上. <div id="app"

  • Vue中v-on的基础用法、参数传递和修饰符的示例详解

    一.v-on的基本用法 使用v-on:click给button绑定监听事件以及回调函数,@是v-on:的缩写,也就是简写也可以使用@click.方法一般是需要写方法名加上(),在@click中可以省掉,如上述的<button @click="increment">加</button>. 以简单的计数器为例 <body> <div id="app"> <h2>{{count}}</h2> <

  • 浅谈SpringMVC中的session用法及细节记录

    前言 初学SpringMVC,最近在给公司做的系统做登录方面,需要用到session. 在网上找了不少资料,大致提了2点session保存方式: 1.javaWeb工程通用的HttpSession 2.SpringMVC特有的@SessionAttributes 我个人比较关注@SessionAttributes的用法,毕竟现在是在用SpringMVC嘛.但是我看网上那些文章,基本都是只说明了基础用法,详细的使用和细节却基本没有,我想这是不够的,所以我自己做了一些测试,然后整理了下代码做了个de

  • C#中各种计时器用法小结

    本文实例总结了C#中各种计时器用法.分享给大家供大家参考,具体如下: 1.使用 Stopwatch 类 (System.Diagnostics.Stopwatch) Stopwatch 实例可以测量一个时间间隔的运行时间,也可以测量多个时间间隔的总运行时间.在典型的 Stopwatch 方案中,先调用 Start 方法,然后调用 Stop 方法,最后使用 Elapsed 属性检查运行时间. Stopwatch 实例或者在运行,或者已停止:使用 IsRunning 可以确定 Stopwatch 的

  • jQuery中get方法用法分析

    本文实例讲述了jQuery中get方法用法.分享给大家供大家参考,具体如下: 参数:url,[data],[callback],[type] url 待载入页面的URL地址. data 待发送 Key/value 参数. callback 载入成功时回调函数. type 返回内容格式,xml, html, script, json, text, _default. 案例1 表单代码: <form id="form1" action="#"> <p&

  • ASP.NET中Dictionary基本用法实例分析

    本文实例讲述了ASP.NET中Dictionary基本用法.分享给大家供大家参考,具体如下: //Dictionary位于System.Collections.Generic命名空间之下 /* * 使用Dictionary之前必须引用System.Collections.Generic命名空间: * 使用Dictionary时必须声明其键和值的数据类型(可以为任意类型): */ //声明实例化Dictionary为dic System.Collections.Generic.Dictionary

随机推荐