ASP.Net/XML/Xml Node

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Create DocumentFragment

   <source lang="csharp">

<%-- Code Revised from

Professional ASP.NET 2.0 XML (Programmer to Programmer) (Paperback) by Thiru Thangarathinam

  1. Publisher: Wrox (January 18, 2006)
  2. Language: English
  3. 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">
                   Book Details:
                   Genre:
                   <asp:TextBox ID="txtGenre" runat="server" Width="201px"></asp:TextBox>
                   Title:
                   <asp:TextBox ID="txtTitle" runat="server" Width="201px"></asp:TextBox>
                   First Name:
                   <asp:TextBox ID="txtFirstName" runat="server" Width="201px"></asp:TextBox>
                   Last Name:
                   <asp:TextBox ID="txtLastName" runat="server" Width="201px"></asp:TextBox>
                   Price:
                   <asp:TextBox ID="txtPrice" runat="server" Width="201px"></asp:TextBox>
                   <asp:Button Text="Save" runat="server" ID="btnSave" Width="95px" OnClick="btnSave_Click"/>
                   <asp:Label runat="server" ID="lblResult" Width="295px"/>
   </form>

</body> </html>

      </source>