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", ""); //创建属性
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",""),
new XElement("person","我是一个文本")
)
).Save("3.xml");
}
C#基础巩固(2)-Linq To XML创建XML的更多相关文章
- 使用LINQ TO XML 创建xml文档,以及读取xml文档把内容显示到GridView例子
首先,准备了一个Model类 using System; using System.Collections.Generic; using System.Linq; using System.Text; ...
- xml介绍+xml创建+xml读取
1.xml介绍:(URL:https://blog.csdn.net/weixin_37861326/article/details/81082144) xml是用来传输内容的,是w3c推荐的 2.使 ...
- 使用Dom4j创建xml文档
我们学习dom4j为的就是使用它来创建XML文档.读取文档等更为方便,下面通过一个实例来展示如何通过dom4j去创建XML文档.展示怎样通过两种方式去创建元素,可以直接通过addElement方法返回 ...
- 如何用Dome4j(2.2.1)创建Xml
XML解析器常见的有两种: 1.SAX解析器,用于xml的简单API 2.DOM解析器,文档对象模型 DOM就是利用对象来把文本模型化,但是模型实现有以下几个基本的点: 1. 用来表示.操作文档的接口 ...
- XML基础学习02<linq to xml>
Linq to XML的理解 1:这是一种比较好的操作Xml的工具. àXDocument 文档 àXElement 元素 àXAttribute 属性 àXText 文本 2:这里还是和我们之前创建 ...
- C#中如何创建xml文件 增、删、改、查 xml节点信息
XML:Extensible Markup Language(可扩展标记语言)的缩写,是用来定义其它语言的一种元语言,其前身是SGML(Standard Generalized Markup Lang ...
- 自己动手之使用反射和泛型,动态读取XML创建类实例并赋值
前言: 最近小匹夫参与的游戏项目到了需要读取数据的阶段了,那么觉得自己业余时间也该实践下数据相关的内容.那么从哪入手呢?因为用的是Unity3d的游戏引擎,思来想去就选择了C#读取XML文件这个小功能 ...
- .net中创建xml文件的两种方法
.net中创建xml文件的两种方法 方法1:根据xml结构一步一步构建xml文档,保存文件(动态方式) 方法2:直接加载xml结构,保存文件(固定方式) 方法1:动态创建xml文档 根据传递的值,构建 ...
- Linq专题之创建Linq查询表达式
本节我们主要介绍一下如何创建查询集合类型,关系数据库类型,DataSet对象类型和XML类型的数据源的Linq查询表达式. 下面在实例代码ReadyCollectionData()函数创建了准备的数据 ...
随机推荐
- Linux 操作系统下的环境变量设置
Linux下的环境变量设置 by:授客 QQ:1033553122 1. 问题描述 linux输入命令时经常会出现提示:xxx:Command not found 2. 原因分析 Command ...
- Flutter 依赖的那些事儿
Flutter 里面有2种库一样的东西, Package -creating a pure Dart component. like a new Widget. 这种是纯Dart,相当于你自己写的组件 ...
- Fiddler抓包学习——https请求的抓取
第一步:设置Fiddler windows下安装证书 打开fiddler 查看证书是否安装 说明已安装成功 设置端口号(下面手机设置代理所需要的) 第二部 手机端安装证书 通过fiddler查看电 ...
- sqlserver 将 “用 特定字符 分隔的一个字段” 拆分成多个字段,然后两个表之间数据更新
将源TXT文件sourceFile_table.txt导入数据库,生成新表dbo.sourceFile_table.新增字段lon.lat.shi.xian 源表dbo.sourceFile_tabl ...
- 在 Android 手机上运行 Python 程序
- datatable 列名重新排序
1. DataTable.Columns["MONEY"].SetOrdinal[4]; 2.dt = dt.DefaultView.ToTable(false, listarr. ...
- 使用parted创建gpt大分区例子
[root@VM000000518 ~]# parted /dev/xvde GNU Parted 2.1 Using /dev/xvde Welcome to GNU Parted! Type 'h ...
- 8.1Python面向对象编程(一)
目录 目录 前言 (一)基本概念 ==1.面向过程与面向对象== ==2.类与对象== (二)类属性的相关操作 ==1.定义一个经典类== ==2.对象属性的操作== ==3.类属性的操作== ==4 ...
- 路由交换02-----ARP协议
路由交换协议-----ARP ARP协议 ARP(Address Resolution Protocol),是根据IP地址获取MAC地址的一个TCP/IP协议,即将IP地址对应到物理地址,从而实现数据 ...
- MySQL基本简单操作01
MySQL基本简单操作 学会了安装Docker,那么就将它利用起来.(/滑稽脸) 之前想学习Mysql(Windows下配置真麻烦),学会了Docker就方便了,直接使用Docker创建一个Mysql ...