Output the content of a DataSet as XML : DataSet « ADO.net Database « ASP.Net






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;
   }
}

 








Related examples in the same category

1.Loop through data in Sql Server by DataSet
2.Loop through DataSet
3.Get query result from DataSet
4.Load Table from DataSet
5.Build a DataSet
6.Create DataSet pragmatically
7.Build a DataSet with relationship
8.Finding a Particular Row in a DataSet
9.Converting XML to DataSet and Vice versa
10.Converting XML to DataSet and Vice versa (VB)
11.Programmatically creating a DataSet object
12.DataSet Serialization and Deserialization using Binary Format