我有一个XML的省市数据
我想通过2个DropDownList下拉菜单来实现联动效果~xml数据是这样的:
<Provinces>
  <Province Code="110000" Name="北京市">
    <City Code="110100" Name="北京"></City>
  </Province>
  <Province Code="120000" Name="天津市">
    <City Code="120100" Name="天津"></City>
  </Province>
</Provinces>
====================================
我通过DataSet读取出来省代码,但不知道如何通过省来显示相关的市数据,请大虾们指点一二!DataSet myDS = new DataSet();
myDS.ReadXml(Server.MapPath("XMLFile.xml"));// 绑定到 DataGrid
DropDownList1.DataSource = myDS.Tables[0];
DropDownList1.DataTextField = "Name";
DropDownList1.DataValueField = "";
DropDownList1.DataBind();

解决方案 »

  1.   

    DataSet myDS = new DataSet();
    myDS.ReadXml(Server.MapPath("China.xml")); // 绑定到 DataGrid
    this.ddlCity.DataSource = myDS.Tables["City"].DefaultView;;
    ddlCity.DataTextField = "Name";
    ddlCity.DataValueField = "Code";
    ddlCity.DataBind();
      

  2.   

    也可以这样private void Bind2()
    {
    doc = new XmlDocument();
    doc.Load(Server.MapPath("China.xml"));
    System.Xml.XmlNodeList EveryTable = doc.DocumentElement.SelectNodes("Province");//("table");
    foreach(XmlNode tmpTable in EveryTable) 
    {
    ddlCity2.Items.Add("---");
    ddlCity2.Items.Add(tmpTable.Attributes["Name"].InnerText);

    for (int i=0;i<tmpTable.ChildNodes.Count;i++)
    {
    ddlCity2.Items.Add(tmpTable.ChildNodes[i].Attributes["Name"].InnerText);
    }
    }
    ddlCity2.DataBind();
    }