c# Xml文件的编写(初学者参阅)
2008-11-30 16:43
134 查看
本文只对XmlElement这个Xml节点类型进行讨论
对于第一次接触Xml文件的人,首先要搞清楚一些基本概念是必要的。
Xml文件是一个典型的树状结构,为此我们必须搞清楚什么是“树”。
我们必须明确两个概念:“树”和“节点”
所谓的“树”是一种数据结构的类型。
所谓的“节点”就是构成“树”的每一个元素。
我们举一个简单的例子来说明“树”及其功能:
只要用过资源管理器的人,都不会陌生“树”,因为右侧的“文件夹”视图,就是一个典型的“树”状结构。
我们看到的“文件夹”,就是一个个的“节点”。
下面看看每一个“节点”都要有什么属性。
1.每一个文件夹都可以包含许多别的文件夹,因此“节点”同样,也可以包括很多的“节点”
2.每一个文件夹只属于一个文件夹所有,因此“节点”同样,也只能被一个“节点”所包含,不可以被多个“节点”所包含。
搞清楚了什么是“树”,“节点”以及“节点”的属性,下面构造Xml文件的工作,实际上就是构造一个“树”状结构。
构造一个“树”,我们只需要两个基本的操作
1. 构造“节点”
2. 确定“节点”被谁包含
因此构建Xml文件,最基本的就是2个操作,一个是构建Xml文件的节点,另一个是将这个节点连接到Xml文件中(就是确定这个节点被谁所包含)
下面具体介绍构建Xml文件的过程。
在c#中,要使用Xml文件的相关操作,必须引入System.Xml命名空间 using System.Xml;
第一步:创建Xml文档
想要构建Xml文档,自然先要打开一个空白的文档,如同使用Word编辑文档时,先要建一个空白文档一样。
创建Xml文档的代码是:
doc = new XmlDocument();
这样,xd就是你要的空白文档了。
第二步:加一个声明的段落
这一步对于初学者来说,直接写上下面的代码就可以了
XmlNode xn = doc.CreateNode(XmlNodeType.XmlDeclaration, "", "");
doc.AppendChild(xn);
这里面比较重要的就是doc.AppendChild(xn)这句,这就是我们需要的建立连接时用到的语句。其含义就是将xn连接到doc上。(让doc包含xn)
第三步:创建节点
完成了上述两步,就可以进行“建立节点”和“建立连接”这两个基本操作了。
创建节点也需要两个过程,因为节点包含它的名称,和内容两部分。(当然,内容可有可无,但是名称不可缺少。如同文件夹内可以没有东西,但是文件夹必须有名称一样)
1.建立节点并命名节点
XmlElement xe = doc.CreateElement("", "节点名称", "");
这里建立节点使用doc创建的,也就是空白文档中创建,但是必须注意,在空白文档中创建的节点,不意味着连接到了空白文档。我们还需要自己连接这个节点到空白文档上(也就是把节点写入空白文档)
2.建立节点内容
XmlText xt = xd.CreateTextNode("节点内容");
同创建节点一样,内容也是有doc(空白文档)中创建的,但是这个内容也只是一段文字而已,必须连接到刚才创建的节点中,才能成为刚才节点的内容。
3.将节点内容,连接到节点上
xe.AppendChild(xt);
这句话是不是很眼熟,对a.AppendChild(b)刚才我们已经见过了。它的意思就是将b连接到a上。所有的连接都可以这么做。
这样一个有内容的节点就被创建好了。
第三步:将节点连接到空白文档上
这一步我想看过第二步的朋友已经可以自己写出来了。没错,就是用a.AppendChild(b)这句话
doc.AppendChild(xe);
这样,我们就建好了一个拥有xe节点的xml文档。
这里需要注意下面这个问题
节点不光可以连接到文档上,也可里连接到其他节点上。
例如:有xe1, xe2两个节点,我们可以
xe1.AppendChild(xe2);
将节点2连接到节点1上。
doc.AppendChild(xe1);
再将节点1连接到文档中。
这就如同,根目录(doc)中建立一个新的文件夹(xe1),然后又在xe文件夹中新建一个(xe2)的文件夹一样。
这种连接可以一直进行下去。
第四步:保存文档
创建了空白文档(doc),我们必须要保存文档。
doc.Save(path);
这里的path就是要保存文件的路径。比如"c:/a.xml"
经过以上四步及重复第二、三步,我们就可以建立一个比较复杂的Xml文档并保存了。
对于第一次接触Xml文件的人,首先要搞清楚一些基本概念是必要的。
Xml文件是一个典型的树状结构,为此我们必须搞清楚什么是“树”。
我们必须明确两个概念:“树”和“节点”
所谓的“树”是一种数据结构的类型。
所谓的“节点”就是构成“树”的每一个元素。
我们举一个简单的例子来说明“树”及其功能:
只要用过资源管理器的人,都不会陌生“树”,因为右侧的“文件夹”视图,就是一个典型的“树”状结构。
我们看到的“文件夹”,就是一个个的“节点”。
下面看看每一个“节点”都要有什么属性。
1.每一个文件夹都可以包含许多别的文件夹,因此“节点”同样,也可以包括很多的“节点”
2.每一个文件夹只属于一个文件夹所有,因此“节点”同样,也只能被一个“节点”所包含,不可以被多个“节点”所包含。
搞清楚了什么是“树”,“节点”以及“节点”的属性,下面构造Xml文件的工作,实际上就是构造一个“树”状结构。
构造一个“树”,我们只需要两个基本的操作
1. 构造“节点”
2. 确定“节点”被谁包含
因此构建Xml文件,最基本的就是2个操作,一个是构建Xml文件的节点,另一个是将这个节点连接到Xml文件中(就是确定这个节点被谁所包含)
下面具体介绍构建Xml文件的过程。
在c#中,要使用Xml文件的相关操作,必须引入System.Xml命名空间 using System.Xml;
第一步:创建Xml文档
想要构建Xml文档,自然先要打开一个空白的文档,如同使用Word编辑文档时,先要建一个空白文档一样。
创建Xml文档的代码是:
doc = new XmlDocument();
这样,xd就是你要的空白文档了。
第二步:加一个声明的段落
这一步对于初学者来说,直接写上下面的代码就可以了
XmlNode xn = doc.CreateNode(XmlNodeType.XmlDeclaration, "", "");
doc.AppendChild(xn);
这里面比较重要的就是doc.AppendChild(xn)这句,这就是我们需要的建立连接时用到的语句。其含义就是将xn连接到doc上。(让doc包含xn)
第三步:创建节点
完成了上述两步,就可以进行“建立节点”和“建立连接”这两个基本操作了。
创建节点也需要两个过程,因为节点包含它的名称,和内容两部分。(当然,内容可有可无,但是名称不可缺少。如同文件夹内可以没有东西,但是文件夹必须有名称一样)
1.建立节点并命名节点
XmlElement xe = doc.CreateElement("", "节点名称", "");
这里建立节点使用doc创建的,也就是空白文档中创建,但是必须注意,在空白文档中创建的节点,不意味着连接到了空白文档。我们还需要自己连接这个节点到空白文档上(也就是把节点写入空白文档)
2.建立节点内容
XmlText xt = xd.CreateTextNode("节点内容");
同创建节点一样,内容也是有doc(空白文档)中创建的,但是这个内容也只是一段文字而已,必须连接到刚才创建的节点中,才能成为刚才节点的内容。
3.将节点内容,连接到节点上
xe.AppendChild(xt);
这句话是不是很眼熟,对a.AppendChild(b)刚才我们已经见过了。它的意思就是将b连接到a上。所有的连接都可以这么做。
这样一个有内容的节点就被创建好了。
第三步:将节点连接到空白文档上
这一步我想看过第二步的朋友已经可以自己写出来了。没错,就是用a.AppendChild(b)这句话
doc.AppendChild(xe);
这样,我们就建好了一个拥有xe节点的xml文档。
这里需要注意下面这个问题
节点不光可以连接到文档上,也可里连接到其他节点上。
例如:有xe1, xe2两个节点,我们可以
xe1.AppendChild(xe2);
将节点2连接到节点1上。
doc.AppendChild(xe1);
再将节点1连接到文档中。
这就如同,根目录(doc)中建立一个新的文件夹(xe1),然后又在xe文件夹中新建一个(xe2)的文件夹一样。
这种连接可以一直进行下去。
第四步:保存文档
创建了空白文档(doc),我们必须要保存文档。
doc.Save(path);
这里的path就是要保存文件的路径。比如"c:/a.xml"
经过以上四步及重复第二、三步,我们就可以建立一个比较复杂的Xml文档并保存了。
相关文章推荐
- 用XML编写EXCEL文件,XML的写法注意事项,可以C#+xslt导出Excel
- 【第三篇日记】C#解析XML文档和excel文档(弄GoogleEarth时遇到的一个问题,作为一个初学者就大补XML的内容)
- Myeclipse导入xml编写代码提示步骤(以struts2 的配置文件为例)
- c# 使用XmlTextReader拆分大文件
- 编写XML作为配置文件的高级操作库
- C#XML文件操作类(二)
- C# 操作 xml 文件
- 在C#中操作XML文件
- C# 创建,读取,写入XML文件
- C# 利用FTP自动下载xml文件后利用 FileSystemWatcher 监控目录下文件变化并自动更新数据库
- <C#>写xml文件
- ant创建 发布 EJB build.xml 文件的编写
- c#读写XML文件
- C#中保存XML文件时加入头部定义行
- C#控制台基础 在博客备份xml文件中提取所有博文的标题 (正则,流读取)
- XML文件编写自动提醒设置
- XML 文件:使用 JScript、C# 和 Visual Basic.NET 扩展 XSLT
- c#读写xml文件
- 30天C#基础巩固----查找XML文件元素
- C# 创建,读取,写入 XML文件