ASP.Net 新建和讀寫 XML 文檔小結(jié)
文章來(lái)源:365jz.com 點(diǎn)擊數(shù):
576 更新時(shí)間:2009-09-13 10:54
參與評(píng)論
.net創(chuàng)建XML文件的兩種方法
方法一:按照XML的結(jié)構(gòu)一步一步的構(gòu)建XML文檔.
通過(guò).Net FrameWork SDK中的命名空間"System.Xml"中封裝的各種類來(lái)實(shí)現(xiàn)的
方法二:直接定影XML文檔,然后保存到文件。
通過(guò)"XmlDocument"類中的"LoadXml"方法
.aspx 的前臺(tái)代碼

Code
1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default4.aspx.cs" Inherits="Default4" %>
2
3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
5 <html xmlns="http://www.w3.org/1999/xhtml">
6 <head runat="server">
7 <title></title>
8 </head>
9 <body>
10 <form id="form1" runat="server">
11 <div>
12 <asp:Button ID="btn" runat="server" OnClick="btn1_OnClick" Text="創(chuàng)建xml的第一種方法" /><br />
13 <asp:Button ID="btn2" runat="server" OnClick="btn2_OnClick" Text="創(chuàng)建xml的第二種方法" />
14 </div>
15 </form>
16 </body>
17 </html>
C#的后臺(tái)代碼

Code
1
using
System;
2
using System.Collections.Generic;
3
using System.Web;
4
using System.Web.UI;
5
using System.Web.UI.WebControls;
6
using System.Text;
7
using System.Xml;
8
9
public partial class Default4 : System.Web.UI.Page
10


{
11
protected void Page_Load(object sender, EventArgs e)
12

{
13
14
}
15
//創(chuàng)建xml文件方法一
16
protected void btn1_OnClick(object sender, EventArgs e)
17

{
18
XmlText xmltext;
19
XmlDocument xmldoc = new XmlDocument();
20
21
//加入XML的聲明段落
22
XmlNode xmlnode = xmldoc.CreateXmlDeclaration("1.0", "gb2312", null);
23
xmldoc.AppendChild(xmlnode);
24
25
//加入一個(gè)根元素
26
XmlElement xmlelem = xmldoc.CreateElement("", "bookstore", "");
27
xmltext = xmldoc.CreateTextNode("");
28
xmlelem.AppendChild(xmltext);
29
xmldoc.AppendChild(xmlelem);
30
31
//加入一個(gè)子元素
32
XmlElement xmlelem1 = xmldoc.CreateElement("", "book", "");
33
xmltext = xmldoc.CreateTextNode("");
34
xmlelem1.AppendChild(xmltext);
35
//為子元素"book"增加兩個(gè)屬性
36
xmlelem1.SetAttribute("genre", "", "fantasy");
37
xmlelem1.SetAttribute("ISBN", "2-3631-4");
38
39
xmldoc.ChildNodes.Item(1).AppendChild(xmlelem1);
40
41
//創(chuàng)建三個(gè)子元素的子元素
42
XmlElement xmlelem2 = xmldoc.CreateElement("", "title", "");
43
xmltext = xmldoc.CreateTextNode("Oberon's Legacy");
44
xmlelem2.AppendChild(xmltext);
45
xmldoc.ChildNodes.Item(1).AppendChild(xmlelem1).AppendChild(xmlelem2);
46
47
XmlElement xmlelem3 = xmldoc.CreateElement("", "author", "");
48
xmltext = xmldoc.CreateTextNode("Corets, Eva");
49
xmlelem3.AppendChild(xmltext);
50
xmldoc.ChildNodes.Item(1).AppendChild(xmlelem1).AppendChild(xmlelem3);
51
52
XmlElement xmlelem4 = xmldoc.CreateElement("", "price", "");
53
xmltext = xmldoc.CreateTextNode("5.95");
54
xmlelem4.AppendChild(xmltext);
55
xmldoc.ChildNodes.Item(1).AppendChild(xmlelem1).AppendChild(xmlelem4);
56
//保存
57
xmldoc.Save(Server.MapPath("bookstore.xml")); }
58
59
//創(chuàng)建xml文件方法二
60
protected void btn2_OnClick(object sender, EventArgs e)
61

{
62
XmlDocument xmldoc = new XmlDocument(); //創(chuàng)建空的XML文檔
63
xmldoc.LoadXml("<?xml version='1.0' encoding='gb2312'?>" +
64
"<bookstore>" +
65
"<book genre='fantasy' ISBN='2-3631-4'>" +
66
"<title>Oberon's Legacy</title>" +
67
"<author>Corets, Eva</author>" +
68
"<price>5.95</price>" +
69
"</book>" +
70
"</bookstore>");
71
xmldoc.Save(Server.MapPath("bookstore2.xml")); //保存
72
xmldoc.Save(HttpContext.Current.Server.MapPath("bookstore3.xml"));// 一樣也可以保存
73
}
74
}
兩種方法效果一樣。
讀寫 XML 小結(jié)

Code
1 using System.Xml;
2 //初始化一個(gè)xml實(shí)例
3 XmlDocument xml=new XmlDocument();
4
5 //導(dǎo)入指定xml文件
6 xml.Load(path);
7 xml.Load(HttpContext.Current.Server.MapPath("../7in10.xml"));
8
9 //指定一個(gè)節(jié)點(diǎn)
10 XmlNode root=xml.SelectSingleNode("/root");
11
12 //獲取節(jié)點(diǎn)下所有直接子節(jié)點(diǎn)
13 XmlNodeList childlist=root.ChildNodes;
14
15 //判斷該節(jié)點(diǎn)下是否有子節(jié)點(diǎn)
16 root.HasChildNodes;
17
18 //獲取同名同級(jí)節(jié)點(diǎn)集合
19 XmlNodeList nodelist=xml.SelectNodes("/Root/News");
20
21 //生成一個(gè)新節(jié)點(diǎn)
22 XmlElement node=xml.CreateElement("News");
23
24 //將節(jié)點(diǎn)加到指定節(jié)點(diǎn)下,作為其子節(jié)點(diǎn)
25 root.AppendChild(node);
26
27 //將節(jié)點(diǎn)加到指定節(jié)點(diǎn)下某個(gè)子節(jié)點(diǎn)前
28 root.InsertBefore(node,root.ChildeNodes[i]);
29
30 //為指定節(jié)點(diǎn)的新建屬性并賦值
31 node.SetAttribute("id","11111");
32
33 //為指定節(jié)點(diǎn)添加子節(jié)點(diǎn)
34 root.AppendChild(node);
35
36 //獲取指定節(jié)點(diǎn)的指定屬性值
37 string id=node.Attributes["id"].Value;
38
39 //獲取指定節(jié)點(diǎn)中的文本
40 string content=node.InnerText;
41
42 //保存XML文件
43 xml.Save(path);
44 xml.Save(HttpContext.Current.Server.MapPath("../7in10.xml"));
Tag標(biāo)簽: ASP.NET XML
如對(duì)本文有疑問(wèn),請(qǐng)?zhí)峤坏浇涣髡搲瑥V大熱心網(wǎng)友會(huì)為你解答?。?點(diǎn)擊進(jìn)入論壇
------分隔線----------------------------