首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 動態遞歸綁定 TreeView:XML 驅動導航選單實現

     編輯:關於C語言

在 Web 專案中,常需根據 XML 文件動態生成樹狀導航選單。本文展示如何使用 XmlDataSource 與遞歸算法將 XML 綁定到 TreeView 控件。

XML 數據源

<?xml version="1.0" encoding="utf-8"?>
<items id="首頁">
  <item id="用戶管理" url="user.aspx"/>
  <item id="新聞管理" url="newsManager.aspx"/>
  <item id="新聞圖片管理" url="news_jpg_Manager.aspx"/>
  <item id="新聞評論管理" url="news_Remark.aspx"/>
  <item id="退出" url="exit.aspx"/>
</items>

核心綁定代碼

void DataBind_TreeView()
{
    XmlDataSource xds = new XmlDataSource();
    xds.DataFile = Server.MapPath("managerList.xml");
    XmlDocument xmlDoc = xds.GetXmlDocument();
    BindXmlToTreeView(xmlDoc.DocumentElement, TreeView1.Nodes);
}

void BindXmlToTreeView(XmlNode node, TreeNodeCollection tnc)
{
    string strId = node.Attributes["id"].Value;
    string strUrl = node.Attributes["url"]?.Value ?? "";
    tnc.Add(new TreeNode(strId, strUrl));
    foreach (XmlNode n in node.ChildNodes)
    {
        BindXmlToTreeView(n, tnc[tnc.Count - 1].ChildNodes);
    }
}

關鍵點解析

  • 使用 XmlDataSource 載入 XML 文件並獲取 XmlDocument。
  • 遞歸函數 BindXmlToTreeView 遍歷 XML 節點,逐層建立 TreeNode。
  • 注意屬性名稱大小寫(id、url)需與 XML 一致。
  • 若節點無 url 屬性,用空字符串避免空引用異常。

此模式易於擴展,支援多級嵌套選單,是構建動態導航的經典做法。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved