# XML Serialization/Deserialization

This topic covers serialization and deserialization supported by DataFilter.

## Content



The DataFilter control supports serialization through **SaveFilterExpression** and **LoadFilterExpression** methods of the [C1DataFilter](/componentone/api/wpf/online-datafilter/dotnet-api/C1.WPF.DataFilter/C1.WPF.DataFilter.C1DataFilter.html) class. The **SaveFilterExpression** method saves the current filter expressions from C1.Win.DataFilter.C1DataFilter.Filters collection to an XML file. The **LoadFilterExpression** method loads the saved filter expressions from an XML file.

The following GIF demonstrates serialization and de-serialization support in the DataFilter control.

![The application shows serialization and deserialization in the Data filter.](https://cdn.mescius.io/document-site-files/images/0bed9dd6-7ca6-4e9d-a89e-443ea1c855b0/images/serialize_deserializefilters.gif)

The following code shows an example of saving filter expressions to an XML file:

**vbnet**

```vbnet
Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
    'Loads the current filter expressions from an xml file
    c1DataFilter.LoadFilterExpression("SavedFilters.xml")
    MessageBox.Show("Loaded saved Filter state.")
End Sub
```

**csharp**

```csharp
private void Button_Click_1(object sender, RoutedEventArgs e)
{
    //Saves the current filter expressions to an xml file
    c1DataFilter.SaveFilterExpression("SavedFilters.xml");
    MessageBox.Show("Filter state saved.");
}
```

The following code shows an example of loading filter expressions from an XML file:

**vbnet**

```vbnet
Private Sub Button_Click_1(sender As Object, e As RoutedEventArgs)
    'Saves the current filter expressions to an xml file
    c1DataFilter.SaveFilterExpression("SavedFilters.xml")
    MessageBox.Show("Filter state saved.")
End Sub
```

**csharp**

```csharp
private void Button_Click(object sender, RoutedEventArgs e)
{
    //Loads the current filter expressions from an xml file
    c1DataFilter.LoadFilterExpression("SavedFilters.xml");
    MessageBox.Show("Loaded saved Filter state.");
}
```