How To Render DataTable Columns as XML Attributes Instead of Elements by Using Visual C# .NET

For a Microsoft Visual Basic .NET version of this article, see 310345 .

This article refers to the following Microsoft .NET Framework Class Library namespaces:

  • System.Data
  • System.Data.SqlClient



This article demonstrates how to render DataTable columns as Extensible Markup Language (XML) attributes. A DataTable represents one table of in-memory relational data. You can create a DataTable and use it independently, or other Microsoft .NET Framework objects can use the DataTable, most commonly as a member of a DataSet object.


The following list outlines the recommended hardware, software, network infrastructure, and service packs that you need:

  • Microsoft Windows XP, Windows 2000, or Windows NT 4.0 Service Pack 6a
  • Microsoft Visual Studio .NET
This article assumes that you are familiar with the following topics:

  • Visual C# .NET syntax
  • Extensible Markup Language (XML)
  • ADO.NET fundamentals and syntax

Create the Visual C# .NET Sample

  1. Create a new Visual C# Console Application project.
  2. Add the following code to the top of the Code window:
    using System;
    using System.Data;
    using System.Data.SqlClient;
  3. Add the following code in the static void Main(string[] args) section:
    SqlConnection cnPubs = new SqlConnection("Data Source=<servername>;user id=<username>;
    password=<Password>;Initial Catalog=Pubs;");
    SqlDataAdapter daAuthors = new SqlDataAdapter("Select * from Authors",cnPubs);

    DataSet ds = new DataSet();

    DataTable dt ;
    dt = ds.Tables["Authors"];

    foreach (DataColumn dc in dt.Columns)
    dc.ColumnMapping = MappingType.Attribute;
    Console.WriteLine("Completed writing XML file, using a DataSet");
  4. Modify the SqlConnection string as appropriate for your environment.
  5. Press the F5 key to build and run the application. The message "Completed writing XML file, using a DataSet" appears in the Console window. Notice that the Authors.xml file is created in the specified location.
  6. Open Authors.xml. Notice that all of the columns are created as attributes for each row.

Article ID: 311937 - Last Review: Sep 22, 2009 - Revision: 1