# Binding to XML Data

RadTreeView can consume XML data both by directly loading it ([see Serialize/Deserialize to XML](https://www.telerik.com/products/winforms/documentation/controls/treeview/data-binding/deserialize-to-xml)) or by loading it to a **DataSet** for binding. The following example uses a sample "Table of contents" XML. Each node element in the table of contents has a "Title" element, "id" and "parentid".

```xml
	<Toc>
	  <Node>
	    <Title>Main Title</Title>
	    <id>1</id>
	    <parentId></parentId>
	  </Node>
	  <Node>
	    <Title>Child Title</Title>
	    <id>2</id>
	    <parentId>1</parentId>
	  </Node>
	</Toc>
```

Assuming that "toc.xml" is in the TreeView\DataBinding directory which is relative to the directory of the the executable, the following code can be run from the form **Load** event handler. A new **DataSet** object is created and the **DataSet**. **ReadXml()** method consumes the sample data. The element being shown is the **DisplayMember** property "Title". The ValueMember property is set to the "id" element and it will be available in the **Value** property of each RadTreeNode at runtime. The **ParentMember** and **ChildMember** properties define the relation between the records in the data source object:

![WinForms RadTreeView Binding to XML Data](https://www.telerik.com/products/winforms/documentation/assets/3b3e53ce022f52195bed733925bc1a91/treeview-data-binding-binding-to-xml-data001.png)

```C#
DataSet tocDataSet = new DataSet("Toc");
tocDataSet.ReadXml("TreeView\\DataBinding\\toc.xml");
this.radTreeView1.DataMember = "Node";
this.radTreeView1.DisplayMember = "Title";
this.radTreeView1.ChildMember = "id";
this.radTreeView1.ParentMember = "parentId";
this.radTreeView1.DataSource = tocDataSet;
```

```VB.NET
Dim tocDataSet As DataSet = New DataSet("Toc")
tocDataSet.ReadXml("TreeView\DataBinding\toc.xml")
Me.RadTreeView1.DataMember = "Node"
Me.RadTreeView1.DisplayMember = "Title"
Me.RadTreeView1.ChildMember = "id"
Me.RadTreeView1.ParentMember = "parentId"
Me.RadTreeView1.DataSource = tocDataSet
```

## See Also

* [Binding to Database Data](https://www.telerik.com/products/winforms/documentation/controls/treeview/data-binding/binding-to-database-data)

* [Binding to Object-relational Data](https://www.telerik.com/products/winforms/documentation/controls/treeview/data-binding/binding-to-object-relational-data)

* [Binding to Self Referencing Data](https://www.telerik.com/products/winforms/documentation/controls/treeview/data-binding/binding-to-self-referencing-data)

* [Data Binding](https://www.telerik.com/products/winforms/documentation/controls/treeview/data-binding/overview)

* [Binding CheckBoxes](https://www.telerik.com/products/winforms/documentation/controls/treeview/data-binding/databinding-checkboxes)

* [Serialize/Deserialize to XML](https://www.telerik.com/products/winforms/documentation/controls/treeview/data-binding/deserialize-to-xml)
