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");
        }
时间: 2024-08-03 17:40:03

C#基础巩固(2)-Linq To XML创建XML的相关文章

创建XML

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml; namespace 创建XML { class Program { static void Main(string[] args) { //通过代码来创建XML文档 //1.引用命名空间 //2.创建XML文档对象 元素包含节点,元

0505.Net基础班第二十二天(委托、XML和播放器项目)

01索引器 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace _01索引器 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 Person p = new Person(); 14 p

android dom方式创建xml

http://blog.csdn.net/nxh_love/article/details/7085174 在android dom 解析xml方式文章中,简单介绍了dom解析xml的应用.今天在原文章的基础上,说一下android中dom创建xml的应用. 首先:创建的文件会放在/data/data/cn.com.xxx(当前包名)/files下面. 创建生成的xml文件如下所示: [html] view plaincopy <?xml version="1.0" encodi

XML 创建

using unityEngine; using System.Collections; using System.Linq; using System.Xml.Linq; using System; public class XML { //static string xmlpath = Application.persistentDataPath + @"\myXML";//平台相关的路径(移动端) static string xmlpath=Application.dataPat

.net中创建xml文件的两种方法

方法1:根据xml结构一步一步构建xml文档,保存文件(动态方式) 方法2:直接加载xml结构,保存文件(固定方式) 方法1:动态创建xml文档 根据传递的值,构建xml文档结构 1.创建实体类,保存窗体传递的值 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CreateXmlTest.Mod

使用反射和泛型,动态读取XML创建类实例并赋值

[狗刨学习网]unity极致学院,致力于打造业内unity3d培训.学习第一品牌. 前言: 最近小匹夫参与的游戏项目到了需要读取数据的阶段了,那么觉得自己业余时间也该实践下数据相关的内容.那么从哪入手呢?因为用的是Unity3d的游戏引擎,思来想去就选择了C#读取XML文件这个小功能.网上的例子倒也不少,但总是觉得缺点什么.比如读取xml文件之后该如何处理?看到的文章基本上都是手动创建一个目标类的实例,然后手动从读取的XML文件的内容中给刚才创建的目标类实例相关字段赋值.缺点什么呢?对嘞,感觉上

XML文件操作类--创建XML文件

这个类是在微软XML操作类库上进行的封装,只是为了更加简单使用,包括XML类创建节点的示例. using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml; namespace testForm { class Operation_APPCFG { XmlDocument xmldoc; XmlNode

自己动手之使用反射和泛型,动态读取XML创建类实例并赋值

前言: 最近小匹夫参与的游戏项目到了需要读取数据的阶段了,那么觉得自己业余时间也该实践下数据相关的内容.那么从哪入手呢?因为用的是Unity3d的游戏引擎,思来想去就选择了C#读取XML文件这个小功能.网上的例子倒也不少,但总是觉得缺点什么.比如读取xml文件之后该如何处理?看到的文章基本上都是手动创建一个目标类的实例,然后手动从读取的XML文件的内容中给刚才创建的目标类实例相关字段赋值.缺点什么呢?对嘞,感觉上不够简单和智能. 正所谓驱动科技发展的原因就是懒,为了使我们的小工具能够傻瓜到只需要

【Java编程】DOM XML Parser解析、遍历、创建XML

1.前言 DOM XML Parser介绍 DOM 是 W3C 处理 XML 的标准 API,它是许多其它与 XML 处理相关的标准的基础,不仅是 Java,其它诸如 Javascript,PHP,MS .NET 等等语言都实现了该标准,成为了应用最为广泛的 XML 处理方式.当然,为了能提供更多更加强大的功能,Java 对于 DOM 直接扩展工具类有很多,比如很多 Java 程序员耳熟能详的 JDOM,DOM4J 等等,它们基本上属于对 DOM 接口功能的扩充,保留了很多 DOM API 的特