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);
            }
            
        }  
    }

 

转载于:https://www.cnblogs.com/zhangyuhao/p/10578943.html

C# XML入门经典——C#编程人员必备的XML技能 作者:[美]Stewart Fraser, Steven 著,毛尧飞,崔伟 译 出版社:清华大学出版社 出版时间:2003年11月 第1章 在C#中使用XML的原因1.1 使用XML的原因1.1.1 开放性1.1.2 简单性1.1.3 自我描述性1.1.4 互操作性1.1.5 结构1.1.6 分开结构和内容1.1.7 可扩展性1.2 什么是XML1.2.1 XML涉及多种语言1.2.2 XML文档1.3 使用XML的对象1.3.1 内容表示1.3.2 B2B电子商务1.3.3 远程过程调用1.3.4 数据存储和访问1.3.5 不使用XML的情况1.4 XML标准1.4.1 什么是W3C1.4.2 XML标准1.4.3 与XML相关的标准1.4.4 标准重要的原因1.5 XML如何适应.NET1.5.1 在.NET Framework中使用XML1.5.2 .NET中的XML支持1.6 小结第2章 XML概述2.1 XML的概念2.1.1 XML元素2.1.2 XML属性2.1.3 XML解析器2.1.4 构建XML2.1.5 XML文档的各个组成部分2.2 创建格式良好的XML文档2.2.1 XML中的元素2.2.2 XML中的属性2.2.3 在XML中使用注释2.3 验证XML文档的有效性2.3.1 文档类型定义2.3.2 XML Schema2.3.3 XML编码2.4 小结第3章 在.NET中使用XML3.1 XML如何适合.NET3.1.1 XML3.1.2 文档对象模型(DOM)3.1.3 命名空间3.1.4 DTD和XML Schema3.1.5 XPath 3.1.6 XSLT3.2 .NET Framework使用XML3.2.1 配置文件3.2.2 ADO.NET3.2.3 SOAP和Web服务3.3 案例分析——电话簿样式应用程序3.4 小结第4章 在.NET中读取XML4.1 流模型4.1.1 流模型和DOM的比较4.1.2 流模型中的变体4.2 XmlTextReader类4.2.1 XmlTextReader属性4.2.2 读取属性4.2.3 读取较大的数据块4.3 XmlNodeReader类4.4 XmlValidatingReader类4.5 小结第5章 在.NET中编写XML5.1 利用.NET类编写XML文档5.2 XmlWriter类5.2.1 XmlWriter方法5.2.2 XmlWriter属性5.3 XmlWriter类5.3.1 XmlTextWriter构造函数5.3.2 XmlTextWirter属性5.3.3 处理XmlTextWirter5.3.4 写入较大的数据块5.4 小结第6章 在.NET中实现DOM6.1 文档对象模型6.1.1 文档对象模型与流模型6.1.2 .NET DOM继承模型6.2 XmlNode类6.2.1 XmlNode的定义6.2.2 XmlNode的属性6.2.3 XmlNode的方法6.3 XmlDocument类6.3.1 创建节点6.3.2 加载和保存6.3.3 迭代XmlDocument实例6.3.4 编辑XML文档6.4 案例分析6.4.1 体系结构6.4.2 应用程序详细信息6.4.3 加载用户联系人6.4.4 搜索联系人6.4.5 导出联系人6.4.6 导入其他联系人6.5 小结第7章 XPath和.NET7.1 System.Xml.XPath命名空间7.2 .NET中的XPath类7.2.1 XPathDocument类<br
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值