Xml数据绑定到treeView的问题
我想把 Xml数据绑定到treeView,以下是代码:
public class Report_left : System.Web.UI.Page
{
protected string mainUrl = "";
protected System.Web.UI.HtmlControls.HtmlInputHidden hdUrl;
protected Microsoft.Web.UI.WebControls.TreeView tvMenu;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
this.BindTreeView();
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void BindTreeView()
{
//设置XML文件路径
string xmlPath = Server.MapPath("Report.xml");
//定义XML文档对象
XmlDocument doc = new XmlDocument();
doc.Load(xmlPath);
//定义节点
XmlNodeList parentNode = null;
//定义树节点
TreeNode rootNode = new TreeNode();
rootNode.Text = doc.GetElementsByTagName("Menu").Item(0).Attributes["Text"].Value;
tvMenu.Nodes.Add(rootNode);
parentNode = doc.GetElementsByTagName("MenuChild");
//若节点不为空
if(parentNode != null)
{
XmlNodeList childNode = parentNode[0].ChildNodes;
for(int j=0;j<childNode.Count;j++)
{
TreeNode treeNode = new TreeNode();
if(childNode[j].Attributes["Text"].Value != "")
{
treeNode.Text = childNode[j].Attributes["Text"].Value;
}
treeNode.NavigateUrl = childNode[j].Attributes["NavigateUrl"].Value;
treeNode.Target = childNode[j].Attributes["Target"].Value;
treeNode.ImageUrl = childNode[j].Attributes["ImageUrl"].Value;
rootNode.Nodes.Add(treeNode);
}
rootNode.Expanded = true;
}
}
xml文件:
<?xml version="1.0" encoding="utf-8" ?>
<Menu Text="报表">
<!--Menu说明:Text=菜单名称,ImageUrl=图标位置,NavigateUrl=链接 Target=目标框架 -->
<MenuChild Text="接转站部分">
<Item Text="站库炉参数" ImageUrl="" NavigateUrl="Bn_report.aspx" Target="mainFrame" />
<Item Text="站库炉档案" ImageUrl="" NavigateUrl="Bn_report.aspx" Target="mainFrame" />
<Item Text="计量仪表参数" ImageUrl="" NavigateUrl="Bn_report.aspx" Target="mainFrame" />
<Item Text="计量仪表档案" ImageUrl="" NavigateUrl="Bn_report.aspx" Target="mainFrame" />
<Item Text="分离器档案" ImageUrl="" NavigateUrl="Bn_report.aspx" Target="mainFrame" />
</MenuChild>
<MeunChild Text="注水站、连通站通用部分">
<Item Text="电极设备参数表" ImageUrl="" NavigateUrl="Bn_report.aspx" Target="mainFrame" />
<Item Text="电极设备档案" ImageUrl="" NavigateUrl="Bn_report.aspx" Target="mainFrame" />
<Item Text="存储设备参数" ImageUrl="" NavigateUrl="Bn_report.aspx" Target="mainFrame" />
<Item Text="存储设备档案" ImageUrl="" NavigateUrl="Bn_report.aspx" Target="mainFrame" />
<Item Text="站库泵设备参数" ImageUrl="" NavigateUrl="Bn_report.aspx" Target="mainFrame" />
<Item Text="站库泵设备档案" ImageUrl="" NavigateUrl="Bn_report.aspx" Target="mainFrame" />
</MeunChild>
<MeunChild Text="通用部分">
<Item Text="自动化监控设备台帐" ImageUrl="" NavigateUrl="Bn_report.aspx" Target="mainFrame" />
<Item Text="站库自然属性" ImageUrl="" NavigateUrl="Bn_report.aspx" Target="mainFrame" />
<Item Text="消防器材数据" ImageUrl="" NavigateUrl="Bn_report.aspx" Target="mainFrame" />
<Item Text="油田道路" ImageUrl="" NavigateUrl="Bn_report.aspx" Target="mainFrame" />
</MeunChild>
</Menu>
我现在只能把第一个MenuChild绑定上,谁帮解决下