从 XML 文件生成树视图

本文关键字:视图 生成树 文件 XML | 更新日期: 2023-09-27 18:33:35

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

我有什么:

<?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生成它?

从 XML 文件生成树视图

使用 Attributes 来获取 siteMapNode 的值,如下所示:

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