zoukankan      html  css  js  c++  java
  • C#基础巩固(2)-Linq To XML创建XML

    一、首先要清楚一个正确的XML基本格式是怎样的。

     1.后缀名.xml结尾

     2.有一行描述

     3.有且仅有一个根节点。

    如图:

    一个正确的xml文件能够被浏览器打开且显示。所以判断一个xml文件有没有错误也可以用浏览器打开看有没有报错。

    二、传统的XML创建方式。

          命名空间:System.XML 

          用到的类库:XmlDocument -文档

                         XmlElement  -元素

                         XmlAttribute -属性

          代码:

    static void Main(string[] args)
            {
                TraditionalCreateXML();
            }
            private static void TraditionalCreateXML()
            {
                XmlDocument xdoc = new XmlDocument();
                //所有的元素使用文档节点(XmlDocument)创建
                XmlDeclaration xdec = xdoc.CreateXmlDeclaration("1.0", "gb2312", null); //xml描述
                xdoc.AppendChild(xdec); //添加描述
                XmlElement xele = xdoc.CreateElement("root"); //创建节点1
                XmlElement xele2 = xdoc.CreateElement("person"); //创建节点2
                xdoc.AppendChild(xele);  //xdoc添加节点 --根节点 
                xele.AppendChild(xele2); //在节点1(xele)下添加一个节点2(xele2)
                XmlAttribute xAttr = xdoc.CreateAttribute("id"); //创建属性
                xAttr.Value = "123";  //属性的值
                xele.Attributes.Append(xAttr); //把属性插入到节点
                XmlText txt = xdoc.CreateTextNode("我是文本节点");  //创建文本
                xele2.AppendChild(txt); //把文本插入到节点
                xdoc.Save("1.xml");
            }
    

      关键的思想是:创建元素->添加元素,执行完上面代码 在bin->debug目录下找到1.xml这个文件。

         内容如下:

        

    三、Linq To XML创建XML

           命名空间: System.XML.Linq;

            类库: XDocument  -文档

                    XElement -元素

                    XAttribute - 属性

       3.1 Linq To XML用法

       代码:

     static void Main(string[] args)
            {
                LinqToXMLCreateXML();
                //TraditionalCreateXML();
            }
            private static void LinqToXMLCreateXML()
            {
                XDocument xdoc = new XDocument();
                //描述会自动创建  Encoding为UTF-8  如果想改成GB2312的  XDeclaration dec=new XDeclaration("1.0","gb2312","yes");
                XElement xRoot = new XElement("root"); //创建节点
                XElement xele2 = new XElement("person", "我是文本");
                XAttribute xAttr = new XAttribute("Id", "123"); //创建属性
                xdoc.Add(xRoot); //添加节点
                xRoot.Add(xele2);
                xRoot.Add(xAttr); //添加属性
                xdoc.Save("2.xml");
            }

     执行代码,在bin->debug 目录下找到2.xml文件

       从上面代码可以看出,Linq TO XML的方法比传统的方法简单,特点有。

         1.创建元素的时候可以用 键/值(key/value)对的方法创建元素并赋值

         2.添加元素或者属性的时候,都是用Add()方法。

       3.2真正的linq语法

        linq 语法主要特点: 1.基于函数式    f1().f2().f3().....

                                   2.链式编程

        把上面3.1的代码写成linq语法为:

    static void Main(string[] args)
            {
                LinqToXMLCreateXML2();
                //LinqToXMLCreateXML();
                //TraditionalCreateXML();
            }
            private static void LinqToXMLCreateXML2()
            {
                new XDocument(
                    new XElement("root",
                        new XAttribute("Id","123"),
                        new XElement("person","我是一个文本")
    ) ).Save(
    "3.xml"); }
  • 相关阅读:
    Parameter Binding in ASP.NET Web API
    Which HTTP methods match up to which CRUD methods?
    ErrorHandling in asp.net web api
    HttpStatusCode
    Autofac Getting Started(默认的构造函数注入)
    Autofac Controlling Scope and Lifetime
    luvit 被忽视的lua 高性能框架(仿nodejs)
    undefined与null的区别
    VsCode中使用Emmet神器快速编写HTML代码
    字符串匹配---KMP算法
  • 原文地址:https://www.cnblogs.com/wei325/p/4891156.html
Copyright © 2011-2022 走看看