方法一:按照XML的结构一步一步的构建XML文档.

    通过.Net FrameWork SDK中的命名空间"System.Xml"中封装的各种类来实现的


方法一:按照XML的结构一步一步的构建XML文档.

    通过.Net FrameWork SDK中的命名空间"System.Xml"中封装的各种类来实现的


方法二:直接定影XML文档,然后保存到文件。

        通过"XmlDocument"类中的"LoadXml"方法


.aspx前台代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default4.aspx.cs" Inherits="Default4" %>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<title></title>

</head>

<body>

<form id="form1" runat="server">

<div>

<asp:Button ID="btn" runat="server" OnClick="btn1_OnClick" Text="创建xml的第一种方法" /><br />

<asp:Button ID="btn2" runat="server" OnClick="btn2_OnClick" Text="创建xml的第二种方法" />

</div>

</form>

</body>

</html>

.cs后台代码实现如下:

using ...System;

using System.Collections.Generic;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Text;

using System.Xml;


public partial class Default4 : System.Web.UI.Page

...{

protected void Page_Load(object sender, EventArgs e)

...{


}

//创建xml文件方法一

protected void btn1_OnClick(object sender, EventArgs e)

...{

XmlText xmltext;

XmlDocument xmldoc = new XmlDocument();


//加入XML的声明段落

XmlNode xmlnode = xmldoc.CreateXmlDeclaration("1.0", "gb2312", null);

xmldoc.AppendChild(xmlnode);


//加入一个根元素

XmlElement xmlelem = xmldoc.CreateElement("", "bookstore", "");

xmltext = xmldoc.CreateTextNode("");

xmlelem.AppendChild(xmltext);

xmldoc.AppendChild(xmlelem);


//加入一个子元素

XmlElement xmlelem1 = xmldoc.CreateElement("", "book", "");

xmltext = xmldoc.CreateTextNode("");

xmlelem1.AppendChild(xmltext);

//为子元素"book"增加两个属性

xmlelem1.SetAttribute("genre", "", "fantasy");

xmlelem1.SetAttribute("ISBN", "2-3631-4");


xmldoc.ChildNodes.Item(1).AppendChild(xmlelem1);


//创建三个子元素的子元素

XmlElement xmlelem2 = xmldoc.CreateElement("", "title", "");

xmltext = xmldoc.CreateTextNode("Oberon's Legacy");

xmlelem2.AppendChild(xmltext);

xmldoc.ChildNodes.Item(1).AppendChild(xmlelem1).AppendChild(xmlelem2);


XmlElement xmlelem3 = xmldoc.CreateElement("", "author", "");

xmltext = xmldoc.CreateTextNode("Corets, Eva");

xmlelem3.AppendChild(xmltext);

xmldoc.ChildNodes.Item(1).AppendChild(xmlelem1).AppendChild(xmlelem3);


XmlElement xmlelem4 = xmldoc.CreateElement("", "price", "");

xmltext = xmldoc.CreateTextNode("5.95");

xmlelem4.AppendChild(xmltext);

xmldoc.ChildNodes.Item(1).AppendChild(xmlelem1).AppendChild(xmlelem4);

xmldoc.Save(Server.MapPath("bookstore.xml")); //保存

}


//创建xml文件方法二

protected void btn2_OnClick(object sender, EventArgs e)

...{

XmlDocument xmldoc = new XmlDocument(); //创建空的XML文档

xmldoc.LoadXml("<?xml version='1.0' encoding='gb2312'?>" +

"<bookstore>" +

"<book genre='fantasy' ISBN='2-3631-4'>" +

"<title>Oberon's Legacy</title>" +

"<author>Corets, Eva</author>" +

"<price>5.95</price>" +

"</book>" +

"</bookstore>");

xmldoc.Save(Server.MapPath("bookstore2.xml")); //保存

}

}

比较:第一种创建起来更加灵活,而第二种创建起来更加方便。最终创建的xml文件如下:(两种方法创建效果都是一样的)

<?xml version="1.0" encoding="gb2312" ?>

<bookstore>

<book genre="fantasy" ISBN="2-3631-4">

<title>Oberon's Legacy</title>

<author>Corets, Eva</author>

<price>5.95</price>

</book>

</bookstore>


方法二:直接定影XML文档,然后保存到文件。

        通过"XmlDocument"类中的"LoadXml"方法


.aspx前台代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default4.aspx.cs" Inherits="Default4" %>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<title></title>

</head>

<body>

<form id="form1" runat="server">

<div>

<asp:Button ID="btn" runat="server" OnClick="btn1_OnClick" Text="创建xml的第一种方法" /><br />

<asp:Button ID="btn2" runat="server" OnClick="btn2_OnClick" Text="创建xml的第二种方法" />

</div>

</form>

</body>

</html>

.cs后台代码实现如下:

using ...System;

using System.Collections.Generic;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Text;

using System.Xml;


public partial class Default4 : System.Web.UI.Page

...{

protected void Page_Load(object sender, EventArgs e)

...{


}

//创建xml文件方法一

protected void btn1_OnClick(object sender, EventArgs e)

...{

XmlText xmltext;

XmlDocument xmldoc = new XmlDocument();


//加入XML的声明段落

XmlNode xmlnode = xmldoc.CreateXmlDeclaration("1.0", "gb2312", null);

xmldoc.AppendChild(xmlnode);


//加入一个根元素

XmlElement xmlelem = xmldoc.CreateElement("", "bookstore", "");

xmltext = xmldoc.CreateTextNode("");

xmlelem.AppendChild(xmltext);

xmldoc.AppendChild(xmlelem);


//加入一个子元素

XmlElement xmlelem1 = xmldoc.CreateElement("", "book", "");

xmltext = xmldoc.CreateTextNode("");

xmlelem1.AppendChild(xmltext);

//为子元素"book"增加两个属性

xmlelem1.SetAttribute("genre", "", "fantasy");

xmlelem1.SetAttribute("ISBN", "2-3631-4");


xmldoc.ChildNodes.Item(1).AppendChild(xmlelem1);


//创建三个子元素的子元素

XmlElement xmlelem2 = xmldoc.CreateElement("", "title", "");

xmltext = xmldoc.CreateTextNode("Oberon's Legacy");

xmlelem2.AppendChild(xmltext);

xmldoc.ChildNodes.Item(1).AppendChild(xmlelem1).AppendChild(xmlelem2);


XmlElement xmlelem3 = xmldoc.CreateElement("", "author", "");

xmltext = xmldoc.CreateTextNode("Corets, Eva");

xmlelem3.AppendChild(xmltext);

xmldoc.ChildNodes.Item(1).AppendChild(xmlelem1).AppendChild(xmlelem3);


XmlElement xmlelem4 = xmldoc.CreateElement("", "price", "");

xmltext = xmldoc.CreateTextNode("5.95");

xmlelem4.AppendChild(xmltext);

xmldoc.ChildNodes.Item(1).AppendChild(xmlelem1).AppendChild(xmlelem4);

xmldoc.Save(Server.MapPath("bookstore.xml")); //保存

}


//创建xml文件方法二

protected void btn2_OnClick(object sender, EventArgs e)

...{

XmlDocument xmldoc = new XmlDocument(); //创建空的XML文档

xmldoc.LoadXml("<?xml version='1.0' encoding='gb2312'?>" +

"<bookstore>" +

"<book genre='fantasy' ISBN='2-3631-4'>" +

"<title>Oberon's Legacy</title>" +

"<author>Corets, Eva</author>" +

"<price>5.95</price>" +

"</book>" +

"</bookstore>");

xmldoc.Save(Server.MapPath("bookstore2.xml")); //保存

}

}

比较:第一种创建起来更加灵活,而第二种创建起来更加方便。最终创建的xml文件如下:(两种方法创建效果都是一样的)

<?xml version="1.0" encoding="gb2312" ?>

<bookstore>

<book genre="fantasy" ISBN="2-3631-4">

<title>Oberon's Legacy</title>

<author>Corets, Eva</author>

<price>5.95</price>

</book>

</bookstore>