XML文件基本操作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
XML:Extensible Markup Language(可扩展标记语言)的缩写,是用来定义其它语言的一种元语言,其前身是SGML(Standard Generalized
Markup Language,标准通用标记语言)。它没有标签集(tag set),也没有语法规则(grammatical rule),但是它有句法规则(syntax rule)。
任何XML文档对任何类型的应用以及正确的解析都必须是良构的(well-formed),即每一个打开的标签都必须有匹配的结束标签,不得
含有次序颠倒的标签,并且在语句构成上应符合技术规范的要求。XML文档可以是有效的(valid),但并非一定要求有效。所谓有效文档是指其符合其文档
类型定义(DTD)的文档。如果一个文档符合一个模式(schema)的规定,那么这个文档是"模式有效的(schema valid)"。
XML文件在存储、交换和传输数据信息上有着很方便处理,那么今天这篇文章主要讲一下用C#如何实现对XML文件的基本操作,
如:创建xml文件,增、删、改、查xml的节点信息。所使用的方法很基础,方便易懂(用于自己的学习和记忆只需,同时也希望能够给你带来一些帮助,
如有不合适的地方欢迎大家批评指正)。
本文的主要模块为:
①:生成xml文件
②:遍历xml文件的节点信息
③:修改xml文件的节点信息
④:向xml文件添加节点信息
⑤:删除指定xml文件的节点信息假设我们需要设计出这样的一个xml文件来存储相应的信息,如下所示:
那么如何生成这个xml文件?又怎么读取这个xml文件的节点信息,以及如何对这个xml文件的节点信息作相应的操作?请看如下代码示例:
【注:因为我们要使用xml相关的语法和方法,所以一定要引入命名空间System.Xml】1using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Xml;
6
7 namespace OperateXML
8{
9class Program
10 {
11staticvoid Main(string[] args)
12 {
13try
14 {
15//xml文件存储路径
16string myXMLFilePath ="E:\\MyComputers.xml";
17//生成xml文件
18 GenerateXMLFile(myXMLFilePath);
19//遍历xml文件的信息
20 GetXMLInformation(myXMLFilePath);
21//修改xml文件的信息
22 ModifyXmlInformation(myXMLFilePath);
23//向xml文件添加节点信息
24 AddXmlInformation(myXMLFilePath);
25//删除指定节点信息
26 DeleteXmlInformation(myXMLFilePath);
27 }
28catch (Exception ex)
29 {
30 Console.WriteLine(ex.ToString());
31 }
32 }
33
34priva test aticvoid GenerateXMLFile(string xmlFilePath)
35 {
36try
37 {
38//初始化一个xml实例
39 XmlDocumentmyXmlDoc =new XmlDocument();
40//创建xml的根节点
41 XmlElementrootElement = myXmlDoc.CreateElement("Computers");
42//将根节点加入到xml文件中(AppendChild)
43 myXmlDoc.AppendChild(rootElement);
44
45//初始化第一层的第一个子节点
46 XmlElement firstLevelElement1 = myXmlDoc.CreateElement("Computer"); 47//填充第一层的第一个子节点的属性值(SetAttribute)
48 firstLevelElement1.SetAttribute("ID", "11111111");
49 firstLevelElement1.SetAttribute("Description", "Made in China");
50//将第一层的第一个子节点加入到根节点下
51 rootElement.AppendChild(firstLevelElement1);
52//初始化第二层的第一个子节点