XML 可扩展标记语言(所有标签都是自己定义,没有固定格式)

如果要给XML规定格式,可以使用dtd (dtd是什么?你不会自己百度吗)

XML主要用来存储数据

XML的要求:
    根节点只能有一个
    每个节点必须结束
 
<student>
<class name="T139">
<student id="" name="张三" />
<student id="" name="李四" />
<student id="" name="王五" />
<student id="" name="赵六" />
</class>
<class name="T138">
<student id="" name="张一" />
<student id="" name="李二" />
<student id="" name="王三" />
<student id="" name="赵四" />
</class>
</student>

要让xml出现在Debug文件夹中,设置属性为“如果较新则复制”

如果较新则复制:只有在直接修改xml文件时才会重新复制,使用代码更改内部时不会重新复制

using system.xml 操作xml的命名空间

xml和html类似,操作html时需要一个文档对象(document),而在xml中是XmlDocument

XmlDocument doc = new XmlDocument();

doc.Load("xml路径"); //读取xml文件

var rootNode = doc.DocumentElement //获取根节点

roodNode.ChildNodes//获取某个节点的子节点

rootNode.Attributes["属性名称"].Value; //获取某个节点中某个属性的值

doc.CreateElement("节点名");//创建一个新节点

rootNode.AppendChild(节点对象);//为某个节点添加一个子节点

doc.CreateAttribte("属性名")//创建一个新属性

Attribte.Value = "值"; //给属性赋值

rootNode.Attributes.Append(属性对象) //给某个节点添加属性

doc.Save("xml路径");//保存到某xml文件中

doc.SelectNodes("XML层级表达式");

XML 层级表达式

"students/class[@name='T139']/Student" //students中所有name为T139的class中的所有Student

linq for xml 用linq的方式查找xml

XML格式的文件最常见的就是配置文件
配置文件中常用的节点
    appSettings 应用程序设置 一些数据较少的细节设置(字体,logo,默认账号)可以不存入数据库,直接写在配置文件,可以提高性能
<appSettings>
<add key="fontcolor" value="red"/>
</appSettings>
ConfigurationManager.AppSettings["fontcolor"] //获取值

C# 基础复习 三 XML操作的更多相关文章

  1. C#常用操作类库三(XML操作类)

    /// <summary> /// XmlHelper 的摘要说明. /// xml操作类 /// </summary> public class XmlHelper { pr ...

  2. MYSQL基础笔记(三)-表操作基础

    数据表的操作 表与字段是密不可分的. 新增数据表 Create table [if not exists] 表名( 字段名 数据类型, 字段名 数据类型, 字段n 数据类型 --最后一行不需要加逗号 ...

  3. Redis基础学习(三)—Key操作

    一.key的相关操作 1.删除 del key1 key2 ... Keyn 作用: 删除1个或多个键. 返回值: 不存在的key忽略掉,返回真正删除的key的数量.   2.重命名 rename k ...

  4. Java基础复习(三)

    1. &和&&的区别. &和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则 ...

  5. Python基础学习三 文件操作(一)

    文件读写 r,只读模式(默认). w,只写模式.[不可读:不存在则创建:存在则删除内容:] a,追加模式.[不可读: 不存在则创建:存在则只追加内容:] r+,[可读.可写:可追加,如果打开的文件不存 ...

  6. Java基础复习笔记系列 七 IO操作

    Java基础复习笔记系列之 IO操作 我们说的出入,都是站在程序的角度来说的.FileInputStream是读入数据.?????? 1.流是什么东西? 这章的理解的关键是:形象思维.一个管道插入了一 ...

  7. Oracle知识梳理(三)操作篇:SQL基础操作汇总

    Oracle知识梳理(三)操作篇:SQL基础操作汇总 一.表操作 1.表的创建(CREATE TABLE): 基本语句格式:       CREATE TABLE  table_name ( col_ ...

  8. ThinkPHP 学习笔记 ( 三 ) 数据库操作之数据表模型和基础模型 ( Model )

    //TP 恶补ing... 一.定义数据表模型 1.模型映射 要测试数据库是否正常连接,最直接的办法就是在当前控制器中实例化数据表,然后使用 dump 函数输出,查看数据库的链接状态.代码: publ ...

  9. 基础DOM和CSS操作(三)

    CSS方法 jQuery不但提供了CSS的核心操作方法,比如.css()..addClass()等.还封装了一些特殊功能的CSS操作方法,我们分别来了解一下. width()方法 方法名 描述 wid ...

随机推荐

  1. Nginx+Php-fpm运行原理

    一.代理与反向代理 现实生活中的例子 1.正向代理:访问google.com 如上图,因为google被墙,我们需要vpnFQ才能访问google.com. vpn对于“我们”来说,是可以感知到的(我 ...

  2. BZOJ 2959 长跑 (LCT+并查集)

    题面:BZOJ传送门 当成有向边做的发现过不去样例,改成无向边就忘了原来的思路.. 因为成环的点一定都能取到,我们把它们压成一个新点,权值为环上所有点的权值和 这样保证了图是一颗森林 每次询问转化为, ...

  3. python中的各个包的安装,用pip安装whl文件

    在安装之前,一直比较迷惑究竟如何用,安装完后,发现竟然如此简单 首先我一般用的是python27,官网下载python27msi安装window7 64位后,已经自带了Pip 和 easy_insta ...

  4. python对大文件的处理

    多线程框架中采取queue来实现线程间资源的互斥. 在文件过大的情况下,如果都读入内存的话,占用内存就太多了. 这里手动实现了一个多线程调用文件迭代器来使用f.next() # -*- coding: ...

  5. 工具-VS2015前端开发工具简介

    每个涉及的工具库都给出了入门介绍.基本概念,以及在VS和ASP.NET中的用法.这个白皮书完全就是一个非常难得的前端开发入门手册. 具体涉及到的工具库有: 流行的JS任务执行器:Grunt和Gulp. ...

  6. auto_ptr的使用和注意

    参考: http://www.cnblogs.com/qytan36/archive/2010/06/28/1766555.html

  7. HDU 2521

    了解反素数的定义: 反素数是指[1,n]内,比n小的数的约数个数都比n的约数个数要少.注意n其实是最后一个.而在区间内,[a,b]是明显无法满足条件的. 注意了最大才5000.所以,不妨使用枚举. # ...

  8. 动态为TextView控件设置drawableLeft图标,并设置间距

    效果图: 重要属性: textView.setCompoundDrawablePadding(4);//设置图片和text之间的间距 textView.setPadding(-5, 0, 0, 0); ...

  9. [Ionic] Align and Size Text with Ionic CSS Utilities

    The Ionic framework provides several built-in CSS Utilities or directives that you can leverage when ...

  10. 从WAVE头文件里获取压缩方式

    在解析WAV文件时.会从头文件里读取TAG值,表示当前文件的压缩格式,如该值为1,表示没有压缩,其他表示不同的压缩方式. 如当中为6时,表示压缩方式是alaw 列表例如以下: TAG值 音频描写叙述 ...