从 XML 文件生成 TreeView

Generate TreeView from XML file

我想从 XML 文件等数据源创建 TreeView。我还需要自定义元素的可见名称。

我有:

<?xml version="1.0" encoding="UTF-8"?>

<List>


<siteMapNode title="Title1" url="http://example.com/Pages/General.aspx" description="Description1">

   <siteMapNode title="Title2" url="http://example.com/Pages/Base.aspx" description="Description2"/>

</siteMapNode>

<siteMapNode title="Title3" url="http://example.com/Lists/News.aspx" description="Description3"> </siteMapNode>



</List>

我可以生成:

List
  siteMapNode
     siteMapNode
  siteMapNode

现在我想要的是:

List
  Title1
    Title2
  Title3

更新: 我在 .aspx 中生成类似的树视图:

<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="footerSiteMap.xml"></asp:XmlDataSource>

<asp:TreeView ID="TreeView1" runat="server" DataSourceID="Xmldatasource1" ShowLines="true" ShowCheckBoxes="All">

    <DataBindings>
        <asp:TreeNodeBinding DataMember="{siteMapNode_Id}" TextField="{siteMapNode_Id}" ValueField="{siteMapNode_Id}"  />
        <asp:TreeNodeBinding DataMember="{siteMapNode_Id_0}" TextField="{siteMapNode_Id_0}" ValueField="{siteMapNode_Id_0}" />
        <asp:TreeNodeBinding DataMember="{title}" TextField="{title}" ValueField="{title}" />
        <asp:TreeNodeBinding DataMember="{url}" TextField="{url}" ValueField="{url}" />
        <asp:TreeNodeBinding DataMember="{description}" TextField="{description}" ValueField="{description}" />
    </DataBindings>

</asp:TreeView>

我如何从 .aspx.cs 生成它?

使用 Attributes 获取 siteMapNode 的值,例如,

var attr = node.Attributes["title"];