<%--
Code Revised from
Professional ASP.NET 2.0 XML (Programmer to Programmer) (Paperback)
by Thiru Thangarathinam
# Publisher: Wrox (January 18, 2006)
# Language: English
# ISBN: 0764596772
--%>
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Xml" %>
<script runat="server">
protected void btnSave_Click(object sender, EventArgs e)
{
string xmlPath = MapPath("Books2.xml");
XmlDocument doc = new XmlDocument();
if (System.IO.File.Exists(xmlPath))
{
doc.Load(xmlPath);
XmlNode bookNode = CreateBookNode(doc);
//Get reference to the book node and append the book node to it
XmlNode bookStoreNode = doc.SelectSingleNode("bookstore");
bookStoreNode.AppendChild(bookNode);
}
else
{
XmlNode declarationNode = doc.CreateXmlDeclaration("1.0", "", "");
doc.AppendChild(declarationNode);
XmlNode comment = doc.CreateComment("Comments Here");
doc.AppendChild(comment);
XmlNode bookstoreNode = doc.CreateElement("bookstore");
XmlNode bookNode = CreateBookNode(doc);
bookstoreNode.AppendChild(bookNode);
doc.AppendChild(bookstoreNode);
}
lblResult.Text = "XML Document has been successfully created";
doc.Save(xmlPath);
}
XmlNode CreateBookNode(XmlDocument doc)
{
XmlDocumentFragment docFragment = doc.CreateDocumentFragment();
docFragment.InnerXml = "<book genre='" + txtGenre.Text + "'>" +
"<title>" + txtTitle.Text +" </title>" +
"<author><first-name>" + txtFirstName.Text + "</first-name>" +
"<last-name>" + txtLastName.Text + "</last-name></author>" +
"<price>" + txtPrice.Text + "</price></book>";
return docFragment;
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Creating an XmlDocumentFragment</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table>
<tr>
<td colspan="2" style="width: 174px; height: 40px">
<b>Book Details:</b>
</td>
</tr>
<tr>
<td style="width: 101px; height: 44px">
Genre:
</td>
<td style="width: 204px; height: 44px">
<asp:TextBox ID="txtGenre" runat="server" Width="201px"></asp:TextBox>
</td>
</tr>
<tr>
<td style="width: 101px; height: 44px">
Title:
</td>
<td style="width: 204px; height: 44px">
<asp:TextBox ID="txtTitle" runat="server" Width="201px"></asp:TextBox>
</td>
</tr>
<tr>
<td style="width: 101px; height: 41px">
First Name:
</td>
<td style="width: 204px; height: 41px">
<asp:TextBox ID="txtFirstName" runat="server" Width="201px"></asp:TextBox>
</td>
</tr>
<tr>
<td style="width: 101px; height: 41px">
Last Name:
</td>
<td style="width: 204px; height: 41px">
<asp:TextBox ID="txtLastName" runat="server" Width="201px"></asp:TextBox>
</td>
</tr>
<tr>
<td style="width: 101px; height: 41px">
Price:
</td>
<td style="width: 204px; height: 41px">
<asp:TextBox ID="txtPrice" runat="server" Width="201px"></asp:TextBox>
</td>
</tr>
<tr>
<td colspan="2" style="width: 101px; height: 41px">
<asp:Button Text="Save" runat="server" ID="btnSave" Width="95px" OnClick="btnSave_Click"/>
</td>
</tr>
<tr>
<td colspan="2" style="width: 101px; height: 41px">
<asp:Label runat="server" ID="lblResult" Width="295px"/>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
|