欢迎大家光临【无师自通-教程网】您的到来是我们的荣幸。本站提供photoshop教程,ps教程,flash教程,cad教程,网页制作教程,excel教程,asp教程,vb教程,3d教程,c语言教程,html教程,coreldraw教程,dreamweaver教程,java教程,3dmax教程 等各种教程为主题的内容和服务,相信您会在这里找到您所需要的东东。无师自通伴您一生-谢谢您的光临!!
网站地图 设为首页
简繁切换 加入收藏
栏目待定 留言本站
您现在的位置: 无师自通-教程网 >> WEB开发 >> XML教程 >> XML应用技巧 >> 教程正文

  没有公告

教程: XML教程-应用技巧-自定义XML文件在TreeView控件中的使用 更多...
教程: XML教程-应用技巧-自定义XML文件在TreeView控件中的使用
在 Asp.Net 中,可以很方便地使用由微软提供的 Internet Exploer Web Controls 控件来实现树形列表。由微软提供的这套控件集合中包括有 MultiPage,TabStrip,Toolbar,Treeview 四个控件。

关于这几个控件的使用在微软的网站由详细的说明(参见:http://www.microsoft.com/china/msdn/archives/library/dnaspp/html/aspnet-usingtreeviewiewebcontrol.asp; http://msdn.microsoft.com/library/default.asp?url=/workshop/webcontrols/overview/overview.asp)。

在微软提供的文档中 Treeview 控件支持 XML 文件作为资源文件(XML 文件的结构本来就是一种树型结构),关于在 Treeview 控件中如可使用 XML 文件,很多资料有详细的介绍(http://www.yesky.com/SoftChannel/72342380468043776/20040630/1825811.shtml),本文介绍的则是用另外一种方式解析 XML 文件到 Treeview 控件中。

因为该方法是我在没有找到资料的情况下为了方便使用该控件而自行写的一个处理过程,其实在使用的时候已经大不可必,写出来,只是出于共同学习的目的。

在拿到这个控件的时候,我对其使用方法是不大了解的,但为了让自己在以后的程序中能够较为方便的使用之,所以我决定采用使用 XML 文件的方式以存储节点信息,所以首先我构建了一个 XML 文件基本格式:

<?xml version="1.0" encoding="UTF-8"?>
<treeview>
<nodes>
<text>根节点</text>
<link></link>
<target>_self</target>
<description></description>
<node>
<text>测试节点 -1</text>
<link>/test1.aspx</link>
<target>MainFrame</target>
<description></description>
</node>
<node>
<text>测试节点 - 2</text>
<link>/test2.aspx</link>
<target>_top</target>
<description></description>
</node>
</nodes>
</treeview>

treeview 为根结点,nodes 为父级节点,node 为子节点。其中 nodes 可以嵌套,可以并行,node 只能并行。在定义好结构后,最主要的就是如何解析了。下面是具体的代码:

///
/// TreeViewParse TreeView解析器,从XML文件中读取节点值
/// document XML文档
/// treeView Microsoft.Web.UI.WebControls.TreeView
///
private void TreeViewParse(System.Xml.XmlNode document, Microsoft.Web.UI.WebControls.TreeView treeView)
{
if(document.Name != "treeview") return;
foreach(System.Xml.XmlNode node in document.ChildNodes)
{
if(node.Name != "nodes") return;
this.NodesParse(node, treeView, null);
}
}

///
/// NodesParse Nodes解析器,从XML文件中读取主节点值
/// document XML文档
/// treeView Microsoft.Web.UI.WebControls.TreeView
/// treeNode 父级节点
///
private void NodesParse(System.Xml.XmlNode document, Microsoft.Web.UI.WebControls.TreeView treeView, Microsoft.Web.UI.WebControls.TreeNode treeNode)
{
if(document.Name != "nodes") return;
Microsoft.Web.UI.WebControls.TreeNode child = new Microsoft.Web.UI.WebControls.TreeNode();
foreach(System.Xml.XmlNode node in document.ChildNodes)
{
string name = (node.Name != null ? node.Name : "");
// child.ID = node.Name "_" treeView.Nodes.Count.ToString();
switch(name.Trim().ToLower())
{
case "text":
child.Text = node.InnerText;
break;
case "link":
child.NavigateUrl = node.InnerText;
break;
case "target":
child.Target = node.InnerText;
break;
case "nodes":
NodesParse(node, treeView, child);
break;
case "node":
NodeParse(node, treeView, child);
break;
}
}
if(treeNode == null) treeView.Nodes.Add(child);
else treeNode.Nodes.Add(child);
}

///
/// NodeParse Node解析器,从

[1] [2] 下一页

教程录入:admin    责任编辑:admin 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     
     
     
     

    asp连接mysql数据库

    asp连接mysql数据库-2

    frontpage2000教程---制作主页
    免责声明!本站资料大部分来自于互联网,其版权归原作者或其他合法者所有.如内容涉及或侵犯了您的权益,请通知本人,我将尽快处理!.欢迎您的光临。
    辽ICP备07003958号
    无师自通,伴你一生-教程网