<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="DataSetToXml" %>
<!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>
<asp:Xml ID="XmlControl" runat="server"></asp:Xml>
</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.Xml;
using System.Web.Configuration;
public partial class DataSetToXml : System.Web.UI.Page
{
protected void Page_Load(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.Document = dataDoc;
XmlControl.TransformSource = "authors.xslt";
}
}
File: Web.config
<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<appSettings/>
<connectionStrings>
<add name="Pubs" connectionString="Data Source=localhost;Initial Catalog=pubs;Integrated Security=SSPI"/>
</connectionStrings>
<system.web>
<compilation debug="true"/>
<authentication mode="Windows"/>
</system.web>
</configuration>
File: authors.xslt
<?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>