Working with ADO.NET 2.0 XMLDataSource Control

Introduction

XML Data Source (XmlDataSource) control is a new control added to ADO.NET data source controls available in ASP.NET 2.0. In this article, I will discuss how to create and use XmlDataSource control in your Web applications.

XmlDataSource Control Members

The following table describes some of the properties of XmlDataSource control.

Member Description
Data Block of data that the data source control binds to.
DataFile XML data file the data source control binds to.
Schema Block of schema that the data source control binds to.
SchemaFile XML Schema file (.xsd) that describes how the XML data should be represented.
Transform Block of Extensible Stylesheet Language (XSL) that defines an XSLT transformation to be performed on the XML data that is contained by the Data property or by the XML file indicated by the DataFile property.
TransformFile Extensible Stylesheet Language (XSL) file name (.xsl) that defines an XSLT transformation to be performed on the XML data that is contained by the Data property or by the XML file indicated by the DataFile property.
XPath XPath query to be applied to the XML data contained by the Data property or by the XML file indicated by the DataFile property.

Adding Data Source Controls using Visual Studio 2005

Like other ASP.NET controls, you can add the control to a page by using Visual Studio designer or writing code by hand. First I create XmlDataSource control and a TreeView control to Visual Studio by dragging these two controls from Toolbox to the page. See Figure 1.

XmlDataSourceImg1.jpg

Figure 1. XmlDataSource in Toolbox

When you drop XmlDataSource to a page, you will see Configure Data Source dialog. On this dialog, you can select the xml data file. You can also specify the schema, transform files, and XPath expression. See Figure 2.

xmldatasource2.jpg

Figure 2. Configure XML Data Source

When you browse for a data file, the dialog also allows you to select xml files, and save to a folder. The default project folder is Data.  See Figure 3.

XmlDataSourceImg3.jpg

Figure 3. Selecting an XML data file.

Now we have our XmlDataSource ready.

The next step is to bind XmlDataSource to TreeView control. Right click on TreeView and select XmlDataSource1 from the "Choose Data Source" drop down list. See Figure 4.

XmlDataSourceImg4.jpg

Figure 4. Binding TreeView with XmlDataSource.

Now next step would be to bind the TreeView nodes with the XML nodes. We use "Edit TreeNode DataBinding" link in Figure 4, which launches TreeView DataBindings Editor, which allows us to bind a TreeView node with the XML tags in the XML. I bind Book node with Author XML tag. See Figure 5.

XmlDataSourceImg5.jpg

Figure 5. TreeView Node and XML tag binding.

As soon you click OK, you will see the TreeView loads authors from the XML data file. See Figure 6.

XmlDataSourceImg6.jpg

Figure 6. TreeView with Authors

Adding XmlDataSource Programmatically

You can also create and bind TreeView with XmlDataSource manually by writing the following code by hand in your HTML editor:

XmlDataSourceImg7.gif

As you can see from this code, first we create asp:XmlDataSource control, which sets DataFile attribute to Authors.xml file. After that we set DataSourceId of asp:TreeView to XmlDataSource1. The DataBinding tag of asp:TreeView sets TreeNodeBinding, where we set DataMember Book with TextField Author.

Summary

When it comes to simplicity and ease of use, ASP.NET 2.0 Data Source controls definitely is a great tool for developers to have. In this article, I discussed XML data source control and how to create it in Visual Studio 2005. I also discussed how XML data source control works together with data bound controls such as a TreeView.

Up Next
    Ebook Download
    View all
    Learn
    View all