从XML文件生成TreeView

时间:2016-02-08 09:35:49

标签: c# asp.net xml treeview

我想从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

UPD: 我在.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生成它?

1 个答案:

答案 0 :(得分:1)

使用Attributes获取siteMapNode的值,如

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