Mega Code Archive

 
Categories / ASP.Net / ADO Database
 

Output the content of a DataSet as XML

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="OutputDataSet" %> <!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 id="Head1" runat="server">     <title>Outputting a DataSet</title> </head> <body>    <form id="form1" runat="server">    <div id="container">       <asp:GridView id="grdProducts" runat="server" />        <hr />       <asp:GridView id="grdCustomer" runat="server" />          <hr />       Retrieving via indexing: <asp:Label ID="labSingle" runat="server" />          <hr />       <asp:Button ID="btnXml" runat="server" Text="Output as XML" OnClick="btnXml_Click" />       <br />       <asp:TextBox ID="txtXml" runat="server" Rows="20" Columns="60" TextMode="MultiLine"/>    </div>    </form> </body> </html> File: Default.aspx.cs using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class OutputDataSet : System.Web.UI.Page {    DataSet ds = null;    protected void Page_Load(object sender, EventArgs e)    {       ds = new DataSet();       ds.Tables.Add(MakeCustomerData());       ds.Tables.Add(MakeProductData());       ds.Tables[1].TableName = "Products";       grdCustomer.DataSource = ds.Tables[0].DefaultView;       grdCustomer.DataBind();       grdProducts.DataSource = ds.Tables["Products"].DefaultView;       grdProducts.DataBind();       double sum = 0.0;       int count = 0;       foreach (DataRow dr in ds.Tables["Products"].Rows)       {          double price = (double)dr["Price"];          sum += price;          count++;       }       double average = sum / count;       labSingle.Text = "Average: " + average;    }    private DataTable MakeCustomerData()    {       DataTable table = new DataTable();       DataColumn idCol = new DataColumn();       idCol.ColumnName = "Id";       idCol.DataType = typeof(Int32);       idCol.AllowDBNull = false;       idCol.Unique = true;       idCol.AutoIncrement = true;       DataColumn firstNameCol = new DataColumn("FirstName", typeof(string));       DataColumn lastNameCol = new DataColumn("LastName", typeof(string));       DataColumn phoneCol = new DataColumn("Phone", typeof(string));       table.Columns.Add(idCol);       table.Columns.Add(firstNameCol);       table.Columns.Add(lastNameCol);       table.Columns.Add(phoneCol);       DataRow r1 = table.NewRow();       r1[1] = "A";       r1[2] = "a";       r1[3] = "123-4567";       table.Rows.Add(r1);       DataRow r2 = table.NewRow();       r2["FirstName"] = "B";       r2["LastName"] = "b";       r2["Phone"] = "234-1111";       table.Rows.Add(r2);       DataRow r3 = table.NewRow();       r3["FirstName"] = "C";       r3["LastName"] = "c";       r3["Phone"] = "345-444";       table.Rows.Add(r3);       DataRow r4 = table.NewRow();       r4["FirstName"] = "D";       r4["LastName"] = "d";       r4["Phone"] = "456-2222";       table.Rows.Add(r4);       return table;    }    private DataTable MakeProductData()    {       DataTable table = new DataTable();       DataColumn idCol = new DataColumn();       idCol.ColumnName = "Id";       idCol.DataType = typeof(Int32);       idCol.AllowDBNull = false;       idCol.Unique = true;       idCol.AutoIncrement = true;       DataColumn nameCol = new DataColumn("Name", typeof(string));       DataColumn priceCol = new DataColumn("Price", typeof(double));       table.Columns.Add(idCol);       table.Columns.Add(nameCol);       table.Columns.Add(priceCol);       DataRow r1 = table.NewRow();       r1[1] = "Book";       r1[2] = 49.99;       table.Rows.Add(r1);       DataRow r2 = table.NewRow();       r2[1] = "Apple";       r2[2] = 0.99;       table.Rows.Add(r2);       return table;    }    protected void btnXml_Click(object sender, EventArgs e)    {       string s = ds.GetXml();       txtXml.Text = s;    } }