Reading, Storing and Transforming XML Data in .NET

The Code

Here's the code for this article, and afterwards I'll go into further detail. If you wish, you may now copy and paste the code below to an .aspx file and the XSL code below to pubs.xsl for a quick glance at the results, which may make it easier to follow what going on as we progress. Incidentally, this example utilizes SQL Server Pubs database, so you'll need that ready to go. So, here goes:

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="System.Xml.Xsl" %>
<%@ Import Namespace="System.IO" %>
<script language="C#" runat="server">
void Page_Load(){
    Get_XML_Data();
    //Get_XML_DataGrid();
}
void Get_XML_DataGrid(){
    DataSet myDataSet = new DataSet();
    myDataSet.ReadXml(Server.MapPath("pubs.xml"));
    xmlDG.DataSource = myDataSet;
    xmlDG.DataBind();
}

void Get_XML_Data() {
    string strConnect = "server=(local);uid=sa;pwd=;database=pubs;";
    SqlConnection objConnect = new SqlConnection(strConnect);
    SqlDataAdapter objCommand = new SqlDataAdapter("SELECT * FROM authors order by au_lname asc", objConnect);
    objConnect.Open();
    DataSet objDS = new DataSet();
    objCommand.Fill(objDS);
    objDS.DataSetName = "PubsList";
    if (!File.Exists(Server.MapPath("pubs.xml"))) {
        objDS.WriteXml(Server.MapPath("pubs.xml"), XmlWriteMode.IgnoreSchema);
    }
    XmlDocument XMLdoc = new XmlDocument();
    XMLdoc.Load(Server.MapPath("pubs.xml"));
    XslTransform XMLtrans = new XslTransform();
    XMLtrans.Load(Server.MapPath("pubs.xsl"));
    xmloutput.Document = XMLdoc;
    xmloutput.Transform = XMLtrans;
    objConnect.Close();
}
</script>
<ASP:DataGrid id="xmlDG" runat="server" />
<asp:xml id="xmloutput" runat="server" />

You might also like...

Comments

About the author

Dimitrios Markatos

Dimitrios Markatos United States

Dimitrios, or Jimmy as his friends call him, is a .NET developer/architect who specializes in Microsoft Technologies for creating high-performance and scalable data-driven enterprise Web and des...

Interested in writing for us? Find out more.

Contribute

Why not write for us? Or you could submit an event or a user group in your area. Alternatively just tell us what you think!

Our tools

We've got automatic conversion tools to convert C# to VB.NET, VB.NET to C#. Also you can compress javascript and compress css and generate sql connection strings.

“It works on my machine.” - Anonymous