<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="XmlDataSet" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div class="Box">
<asp:Button ID="cmdDataSetToXml" runat="server" Text="Display DataSet as XML" OnClick="cmdDataSetToXml_Click" Width="185px"/>
<asp:Xml ID="XmlControl" runat="server" EnableViewState="False"></asp:Xml><br />
</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;
using System.Data.SqlClient;
using System.Web.Configuration;
using System.Xml;
public partial class XmlDataSet : System.Web.UI.Page
{
protected void cmdDataSetToXml_Click(object sender, EventArgs e)
{
string connectionString =
WebConfigurationManager.ConnectionStrings["Pubs"].ConnectionString;
string SQL = "SELECT * FROM authors WHERE city='Oakland'";
SqlConnection con = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand(SQL, con);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataSet ds = new DataSet("AuthorsDataSet");
con.Open();
adapter.Fill(ds, "AuthorsTable");
con.Close();
XmlDataDocument dataDoc = new XmlDataDocument(ds);
XmlControl.XPathNavigator = dataDoc.CreateNavigator();
XmlControl.TransformSource = "Data.xsl";
}
}
File: Data.xsl
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:template match="AuthorsDataSet">
<h1>The Author List</h1>
<xsl:apply-templates select="AuthorsTable"/>
<i>Created through XML and XSLT</i>
</xsl:template>
<xsl:template match="AuthorsTable">
<b>Name: </b><xsl:value-of select="au_lname"/>, <xsl:value-of select="au_fname"/>
<br/>
<b>Phone: </b> <xsl:value-of select="phone"/>
</xsl:template>
</xsl:stylesheet>
File: Web.config
<?xml version="1.0"?>
<configuration>
<connectionStrings>
<add name="Pubs" connectionString="Data Source=localhost\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=Pubs;"/>
</connectionStrings>
</configuration>