Did you know that when you bind an item to a DataBound control (e.g. a repeater), you can use the XPath function to evaluate… well, an XPath? Obviously this is only going to work if you bind an XmlNode (or subclass) instance to the control, but still – comes in very handy!
// in code-behind
rpt.DataSource = document.SelectNodes("/ROOT/students/student");
rpt.DataBind();
<!-- in aspx page -->
<asp:Repeater id="rpt" runat="server">
<ItemTemplate>
<%# XPath("name/text()") %>
</ItemTemplate>
</asp:Repeater>