ASP.Net 新建和读写 XML 文档小结
2009-08-21 12:31 诸葛二牛 阅读(333) 评论(0) 收藏 举报.net创建XML文件的两种方法 
方法一:按照XML的结构一步一步的构建XML文档.
    通过.Net FrameWork SDK中的命名空间"System.Xml"中封装的各种类来实现的
方法二:直接定影XML文档,然后保存到文件。
        通过"XmlDocument"类中的"LoadXml"方法
.aspx 的前台代码

 Code
Code1 <%@ 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="创建xml的第一种方法" /><br />
13 <asp:Button ID="btn2" runat="server" OnClick="btn2_OnClick" Text="创建xml的第二种方法" />
14 </div>
15 </form>
16 </body>
17 </html>
C#的后台代码

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



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

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

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

 
    
 {
{ 62
 XmlDocument xmldoc = new XmlDocument(); //创建空的XML文档
        XmlDocument xmldoc = new XmlDocument(); //创建空的XML文档 63
 xmldoc.LoadXml("<?xml version='1.0' encoding='gb2312'?>" +
        xmldoc.LoadXml("<?xml version='1.0' encoding='gb2312'?>" + 64
 "<bookstore>" +
         "<bookstore>" + 65
 "<book genre='fantasy' ISBN='2-3631-4'>" +
         "<book genre='fantasy' ISBN='2-3631-4'>" + 66
 "<title>Oberon's Legacy</title>" +
         "<title>Oberon's Legacy</title>" + 67
 "<author>Corets, Eva</author>" +
         "<author>Corets, Eva</author>" + 68
 "<price>5.95</price>" +
         "<price>5.95</price>" + 69
 "</book>" +
         "</book>" + 70
 "</bookstore>");
         "</bookstore>"); 71
 xmldoc.Save(Server.MapPath("bookstore2.xml")); //保存
        xmldoc.Save(Server.MapPath("bookstore2.xml")); //保存 72
 xmldoc.Save(HttpContext.Current.Server.MapPath("bookstore3.xml"));// 一样也可以保存
         xmldoc.Save(HttpContext.Current.Server.MapPath("bookstore3.xml"));// 一样也可以保存73
 }
    } 74
 }
}两种方法效果一样。
                                                            读写 XML 小结 

 Code
Code1 using System.Xml;
2 //初始化一个xml实例
3 XmlDocument xml=new XmlDocument();
4
5 //导入指定xml文件
6 xml.Load(path);
7 xml.Load(HttpContext.Current.Server.MapPath("../7in10.xml"));
8
9 //指定一个节点
10 XmlNode root=xml.SelectSingleNode("/root");
11
12 //获取节点下所有直接子节点
13 XmlNodeList childlist=root.ChildNodes;
14
15 //判断该节点下是否有子节点
16 root.HasChildNodes;
17
18 //获取同名同级节点集合
19 XmlNodeList nodelist=xml.SelectNodes("/Root/News");
20
21 //生成一个新节点
22 XmlElement node=xml.CreateElement("News");
23
24 //将节点加到指定节点下,作为其子节点
25 root.AppendChild(node);
26
27 //将节点加到指定节点下某个子节点前
28 root.InsertBefore(node,root.ChildeNodes[i]);
29
30 //为指定节点的新建属性并赋值
31 node.SetAttribute("id","11111");
32
33 //为指定节点添加子节点
34 root.AppendChild(node);
35
36 //获取指定节点的指定属性值
37 string id=node.Attributes["id"].Value;
38
39 //获取指定节点中的文本
40 string content=node.InnerText;
41
42 //保存XML文件
43 xml.Save(path);
44 xml.Save(HttpContext.Current.Server.MapPath("../7in10.xml"));
 
                     
                    
                 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号