XML学习
1:XML:可扩展的标识语言,是一种描述结构数据的格式,简化了网络中数据交换和表示,使得代码,数据和表示分离,并作为数据交换的标准格式,被称为智能数据文档。
2:当我们不使用数据库来存储数据,将其以文件的格式进行存储。这样就是为每个数据建立一个文本文件进行存储。在高深点就是利用XML来存储,
3:格式 <处理文本,字符串>这和标签的形式是一样的。
à将所有的数据用一对尖括号包起来,这个尖括号的名字就是这个值的属性。
<name></name>
<age></age>
<sex></sex>
4:XML语法
*:XML文件,是一个纯文本文件。
*:XML结构是一个树状的结构。
à文档描述
à有根结点。
à数据存储在标签元素中。
à标签是具有属性的。
5:XML文档格式
<? xml version="1.0"encoding="gb2312">
版本是1.0,字符编码是gb2321,一般桌面上右键的都是gb2312格式的,使用VS创建的是可能是utf-8格式。
<根元素的开头>
6:eg
*:先在桌面上新建个文档,修改格式为xml文件。使用chrome浏览器打开.错误显示说明这个文件没有用来描述信息,文件有问题。
*:将此文件使用记事本打开,写上格式文档头。
<?xml version="1.0" encoding="gb2312">
这是刷新浏览器,显示如下,说文档非正常结束。
接着就是在文件里面写一些标签,这里的和基本的HTNL是一样的。
7:XML里面的标签名可以随意命名。但是还需要注意下,
*:不能使用数字开头,不能包含空格
8:保存数据的格式及常用的节点
<?xml version="1.0" encoding="gb2312"> <name>你好世界</name> <person> <name>张辉</name> <age>23</age> <sex>男</sex> </person>
将数据具体保存到标签中,让标签组合在一起表示一个具体的内容,常常使用属性标记一些标签,属性一定是键值对,并且使用双引号将值括起来。
9:注释
10:区分大小写,一般的都是小写的。可以说XML是没有规范限制的。
11:什么是节点?
描述树状结构里面每个分支的都是节点。
重点部分
12:使用C#来操作XML
*:DOM---Document Object Model 文档对象模型
*:dom将所有的内容都看成对象,所以加载节点就是在创建对象,并且将对象加到节点上面。
*:将文档看成对象,而文档中的节点也是对象,节点中的节点也是对象。
*:使用DOM操作,常用的类,这里的一些现在已经不使用了,但是我们还是需要了
解这些知识点。
Xmldocument 文档
XmlElement 元素
XmlAttribute 属性
XmlText 文本
13:使用C#来操作XML的具体步骤
1:使用xmldocument创建文档对象<声明一个xmldocument对象>
2:创建文档描述,使用xdoc对象的create方法创建需要的节点,将其添加到文档中,
3:创建根节点 将其添加到文档对象中。
4:创建内容<创建,追加>
注意:这里是追加到根节点,不是追加到文档。<规定:根节点只能有一个。>
5:追加具体的内容标签
6:设置属性id,添加具体内容。
7:使用文档对象的保存。
14:下面是创建根节点。
public static void Main(string[] args) { //dom将所有的内容都看做对象 #region XML学习理解 //1:使用XmlDocument创建文档对象 XmlDocument xdoc=new XmlDocument(); //声明xml文档的格式 //2:创建文档描述 使用xdoc对象的create系方法创建需要的节点,在将其添加到xdoc里面 XmlDeclaration xroot=xdoc.CreateXmlDeclaration("1.0","utf-8",null); xdoc.AppendChild(xroot); //使用父节点.AppendChild(子节点)添加到文档上面 //3:创建根节点 XmlElement xroots=xdoc.CreateElement("personahui"); xdoc.AppendChild(xroots); //4:使用save来保存文档 xdoc.Save("ahui.xml"); #endregion }
文档显示结果,其在bin/Debug文件下面保存。
15:创建内容。
//3:创建根节点 XmlElement xroots=xdoc.CreateElement("personahui"); xdoc.AppendChild(xroots); //4:创建具体内容 var person=xdoc.CreateElement("person"); xroots.AppendChild(person); //5:在Person中追加 XmlElement name = xdoc.CreateElement("name"); person.AppendChild(name); XmlElement age = xdoc.CreateElement("name"); person.AppendChild(age); XmlElement sex = xdoc.CreateElement("name"); person.AppendChild(sex); //4:使用save来保存文档 xdoc.Save("ahui.xml");
//5:在Person中追加 XmlElement name = xdoc.CreateElement("name"); person.AppendChild(name); name.SetAttribute("id", "0001");
添加这一句就是在name中添加了一个id对象,并为其赋值为0001,下面是一种老式的方法。
//6:追加ID //name.SetAttribute("id", "0001"); var id = xdoc.CreateAttribute("id"); id.Value = "002"; person.SetAttributeNode(id);
16:在name中添加具体的值
//7:在name中添加具体的值 var namevalue = xdoc.CreateTextNode("阿辉"); name.AppendChild(namevalue);
显示内容
<?xml version="1.0" encoding="utf-8"?> <personahui> <person id="002"> <name>阿辉</name> <name /> <name /> </person> </personahui>