TreeView 读取 xml 显示节点

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Tree2_xml.aspx.cs" Inherits="Tree2_xml" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>T2</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <%--TreeView控件的DataSourceID属性指定数据源控件源ID。--%>
        <asp:TreeView ID="treeT" runat="server" DataSourceID="XmlDataSource1">         
        </asp:TreeView>
        <asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/Xml/tree_1.xml">
        </asp:XmlDataSource>
    </div>
    </form>
</body>
</html>

*************************************************************************************************

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

public partial class Tree2_xml : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        /**
        * TreeNodeBinding类在TreeView控件中定义数据项与该数据项绑定到的节点之间的关系。
        * 该类的DataMember属性指定在节点显示的数据源对应XML的节点。
        * ValueField属性对应TreeNode对象的Value属性。
        * TreeNodeBinding类的Text属性指定向用户显示的文本, 如果该属性没有指定,则默认与ValueField属性相同。
        */

        this.treeT.ShowLines = false;//显示连接子节点和父节点之间的线条
        TreeNodeBinding Area = new TreeNodeBinding();
        Area.DataMember = "Area";//指定绑定的成员
        Area.ValueField = "cAreaName";//取值的字段
        this.treeT.DataBindings.Add(Area);
        TreeNodeBinding Province = new TreeNodeBinding();
        Province.DataMember = "Province";//添加与"省份"绑定
        Province.ValueField = "cAreaName";
        this.treeT.DataBindings.Add(Province);
        TreeNodeBinding City = new TreeNodeBinding();
        City.DataMember = "City";//添加与"城市"绑定
        City.ValueField = "cAreaName";
        this.treeT.DataBindings.Add(City);
    }
}

*************************************************************************************************

<?xml version="1.0" encoding="utf-8" ?>
<Area  iAreaID ="0" cAreaName="城市">
  <Province iAreaID ="1" cAreaName="北京市"/>
  <Province iAreaID ="2" cAreaName="上海市"/>
  <Province iAreaID ="3" cAreaName="天津市"/>
  <Province iAreaID ="4" cAreaName="重庆市"/>
  <Province iAreaID ="5" cAreaName="湖北省">
    <City iAreaID ="51" cAreaName="武汉市"/>
    <City iAreaID ="52" cAreaName="黄冈市" />
    <City iAreaID ="53" cAreaName="荆州市"/>
    <City iAreaID ="54" cAreaName="武穴市" />
    <City iAreaID ="55" cAreaName="十堰市"/>
    <City iAreaID ="56" cAreaName="黄石市" />
  </Province>
  <Province iAreaID ="6" cAreaName="河北省">
    <City iAreaID ="61" cAreaName="石家庄市"/>
    <City iAreaID ="62" cAreaName="唐山市" />
  </Province>
  <Province iAreaID ="7" cAreaName="山西省">
    <City iAreaID ="71" cAreaName="太原市" />
    <City iAreaID ="72" cAreaName="大同市" />
  </Province>
</Area>

*************************************************************************************************

posted @ 2015-08-07 09:54  追逐苦痛  阅读(339)  评论(0编辑  收藏  举报