treeview绑定xml

<?xml version="1.0" encoding="GB2312"?>
< root name="石牌街道">
<juwei name="瑞华居委">
<jianzhu smid="6" name="瑞华花园1栋">
<louceng name="1楼">
<fjname>101室</fjname>
<fjname>102室</fjname>
<fjname>103室</fjname>
<fjname>104室</fjname>
</louceng>
<louceng name="2楼">
<fjname>201室</fjname>
<fjname>202室</fjname>
<fjname>203室</fjname>
<fjname>204室</fjname>
</louceng>
</jianzhu>
<jianzhu smid="7" name="瑞华花园2栋">
<louceng name="1楼">
<fjname>101室</fjname>
<fjname>102室</fjname>
<fjname>103室</fjname>
<fjname>104室</fjname>
</louceng>
<louceng name="2楼">
<fjname>201室</fjname>
<fjname>202室</fjname>
<fjname>203室</fjname>
<fjname>204室</fjname>
</louceng>
</jianzhu>
</juwei>
<juwei name="金帝居委">
<jianzhu smid="4" name="金帝花园1栋">
<louceng name="1楼">
<fjname>101室</fjname>
<fjname>102室</fjname>
<fjname>103室</fjname>
<fjname>104室</fjname>
</louceng>
<louceng name="2楼">
<fjname>201室</fjname>
<fjname>202室</fjname>
<fjname>203室</fjname>
<fjname>204室</fjname>
</louceng>
</jianzhu>
</juwei>
<juwei name="朝阳居委">
<jianzhu smid="5" name="金帝花园2栋">
<louceng name="1楼">
<fjname>101室</fjname>
<fjname>102室</fjname>
<fjname>103室</fjname>
<fjname>104室</fjname>
</louceng>
<louceng name="2楼">
<fjname>201室</fjname>
<fjname>202室</fjname>
<fjname>203室</fjname>
<fjname>204室</fjname>
</louceng>
</jianzhu>
</juwei>
< /root>



using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml;

public partial class fangwuguanli : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindTreeView(tvRes);
}
}
/// <summary>
/// 绑定TreeView控件
/// </summary>
/// <param name="treeview">TreeView控件</param>
protected void BindTreeView(TreeView treeview)
{
//利用xmldoc对象读取xml文件
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(Server.MapPath("./xml/fangwu.xml"));
//读取根节点
XmlElement xmlele = xmldoc.DocumentElement;
TreeNode tn = new TreeNode();
tn.Text = xmlele.Attributes["name"].Value;
//获取根节点下的所有节点
XmlNodeList xmlnl = xmlele.ChildNodes;
//递归遍历节点
TreeNode tn_nodes = null;
foreach (XmlNode xmlnode in xmlnl)
{
if (xmlnode.HasChildNodes)
{
tn_nodes = new TreeNode();
tn_nodes.Text = xmlnode.Attributes["name"].Value;
GetNodes(xmlnode, tn_nodes);
tn.ChildNodes.Add(tn_nodes);
}
}
tvRes.Nodes.Add(tn);
}
/// <summary>
/// //递归遍历节点
/// </summary>
/// <param name="xmlnode">当前xml文件中的节点</param>
/// <param name="tn">treeview中当前节点</param>
public void GetNodes(XmlNode xmlnd,TreeNode tn)
{
//获取根节点下的所有节点
XmlNodeList xmlnl = xmlnd.ChildNodes;
TreeNode tn_nodes = null;
foreach (XmlNode xmlnode in xmlnl)
{
if (xmlnode.ChildNodes.Count > 1)
{
tn_nodes = new TreeNode();
tn_nodes.Text = xmlnode.Attributes["name"].Value;
XmlElement xml=(XmlElement)xmlnode;
if (xml.HasAttribute("smid"))
{
tn_nodes.Text = "<a οnclick=\"parent.parent.dptMain.DivOnclickQT('" + xmlnode.Attributes["name"].Value + "','113.335868856645','23.1333050848636','"
+ xmlnode.Attributes["name"].Value + "')\" style=\"cursor: hand\">" + xmlnode.Attributes["name"].Value + "</a>";
}
GetNodes(xmlnode, tn_nodes);
tn.ChildNodes.Add(tn_nodes);
}
else
{
tn_nodes = new TreeNode();
tn_nodes.Text = xmlnode.FirstChild.Value ;
tn.ChildNodes.Add(tn_nodes);
}
}
}
}

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值