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>