【XML操作】XmlDocument创建、读取XML文档
1.XmlDocument创建XML文档
1 //首先创建一个空的XML文档
2 XmlDocument xmldoc = new XmlDocument();
3
4 //在XML的文档的最头部加入XML的声明段落,即创建一个声明类型的节点
5 XmlNode xmlnode = xmldoc.CreateNode(XmlNodeType.XmlDeclaration, "", "");
6 xmldoc.AppendChild(xmlnode);
7
8 //增加注释
9 XmlComment xmlComm = xmldoc.CreateComment("注释内容");
10 xmldoc.AppendChild(xmlComm);
11
12 //为XML文档加入元素或加入一个根元素
13 XmlElement xmlelem = xmldoc.CreateElement("", "学生", "");
14 //xmltext = xmldoc.CreateTextNode ("Root Text");
15 // xmlelem.AppendChild(xmltext);
16
17 //增加一个属性
18 XmlAttribute xmlAttr = xmldoc.CreateAttribute("姓名");
19 xmlAttr.Value = "好大一棵草";
20 xmlelem.Attributes.Append(xmlAttr);
21 xmldoc.AppendChild(xmlelem);
22
23 //增加一个子元素
24 XmlElement xmlelem2 = xmldoc.CreateElement("专业");
25 XmlText xmltext = xmldoc.CreateTextNode("计算机");
26 xmlelem2.AppendChild(xmltext);
27 xmlelem.AppendChild(xmlelem2);
28
29 XmlElement xmlelem3 = xmldoc.CreateElement("年纪");
30 xmltext = xmldoc.CreateTextNode("24");
31 xmlelem3.AppendChild(xmltext);
32 xmlelem.AppendChild(xmlelem3);
33
34 XmlElement xmlelem4 = xmldoc.CreateElement("所在地");
35 xmltext = xmldoc.CreateTextNode("深圳");
36 xmlelem3.AppendChild(xmltext);
37 xmlelem.AppendChild(xmlelem4);
38
39 //保存创建好的XML文档
40 try
41 {
42 xmldoc.Save("D:\\introduce.xml");
43 Response.Write("写入成功");
44 }
45 catch (Exception ex)
46 {
47 //显示错误信息
48 Response.Write(ex.Message);
49 }
2.XmlDocument读取XML文档
1 XmlNodeReader reader = null;
2 try
3 {
4 //1.加载指定的XML文档
5 XmlDocument doc = new XmlDocument();
6 doc.Load("D:\\introduce.xml");
7 //或者通过XmlDocument 载入XmlTextReader类的对象来加载XML文件
8 //XmlTextReader reader = new XmlTextReader("D:\\introduce.xml");
9 //doc.Load(reader);
10
11 //2.读取XML节点数据
12 reader = new XmlNodeReader(doc);
13 string s = "", v = "";
14 while (reader.Read())
15 {
16 //判断当前读取的节点类型
17 switch (reader.NodeType)
18 {
19 case XmlNodeType.Element:
20 s = reader.Name;
21 break;
22 case XmlNodeType.Text:
23 {
24 if (s.Equals("Name"))
25 v = reader.Value;
26 else
27 v = reader.Value;
28 }
29 break;
30 }
31 }
32
33 }
34 catch (Exception ex)
35 {
36 //显示错误信息
37 Response.Write(ex.Message);
38 }
39 finally
40 {
41 //3.关闭XmlNodeReader
42 if (reader != null)
43 reader.Close();
44 }