The answer to your question is in doing these two things:
Read XML into a reusable object. I could think of DataSet as the best alternative for you. That way data once read into the dataset can be reused to bind other objects as well. Here is link where you can find an example of how to read XML into a data set. http://www.codeproject.com/Articles/10427/Convert-XML-Data-to-DataSet-and-Back
The other part is bind the dataset to the tree view, here is an example for that: http://www.codeproject.com/Articles/25753/Binding-the-ASP-NET-TreeView-to-a-DataSet-or-an-Ob
the issue with the second part could be your data set structure may not be appropriate for binding the tree view in that case you can filter the data further.