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.
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.
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.
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.
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.
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.
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:
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.