<?xml version="1.0" encoding="utf-8"?>
<list name="contractkind">
<attribute code = "1" name="类型一"/>
<attribute code = "2" name="类型二"/>
<attribute code = "3" name="类型三"/>
<attribute code = "4" name="类型四"/>
<attribute code = "5" name="类型五"/>
</list>
<list name="contractkind2">
<attribute code = "1" name="类型一"/>
<attribute code = "2" name="类型二"/>
<attribute code = "3" name="类型三"/>
<attribute code = "4" name="类型四"/>
<attribute code = "5" name="类型五"/>
</list>现在要把其中list name = contractkind的部分读取到DropDownList中,有什么办法简单啊?

解决方案 »

  1.   

    可以参考
    http://www.c-sharpcorner.com/Code/2004/Nov/PopulateDropDownInsideDatagrid.asp
    也可以用 XmlTextReader,
      

  2.   

    var oDoc = new ActiveXObject("MSXML2.DOMDocument");
           oDoc.loadXML(*.xml);
           items1 = oDoc.selectNodes("//节点1/Table/a");              
           items2 = oDoc.selectNodes("//节点2/Table/b");                          var itemsLength=items1.length;       for(i=0;i<itemsLength;i++)                   
       {
          var newOption = document.createElement("OPTION");
          newOption.text=items1[i].text;
          newOption.value=items2[i].text;
          drp.options.add(newOption);
       }
      

  3.   

    aspx
    ================
    <%@ Import NameSpace="System.Xml"%>
    <script language="C#" runat="server">
    void Page_Load(Object sender,EventArgs e)
    {if (!Page.IsPostBack) {
    XmlDocument doc=new XmlDocument();
    doc.Load(Server.MapPath("Persons.xml"));
    XmlNodeList nodes = doc.SelectNodes("//list[@name='contractkind']/attribute");
    for(int i = 0 ;i<nodes.Count;i++)
    {
    ListItem lItem = new ListItem(nodes[i].Attributes["name"].Value,nodes[i].Attributes["code"].Value);
    DataList1.Items.Add(lItem);
    }
    }
    }
    </script>
    <HTML>
    <HEAD>
    <title>my first asp.net</title>
    </HEAD>
    <body>
    <form runat=server>
    <asp:DropDownList id="DataList1" runat="server"/>
    </form>
    </body>
    </HTML>
    Persons.xml,注意保存为utf-8格式
    ==============
    <?xml version="1.0" encoding="utf-8"?>
    <lists>
    <list name="contractkind">
    <attribute code = "1" name="类型一"/>
    <attribute code = "2" name="类型二"/>
    <attribute code = "3" name="类型三"/>
    <attribute code = "4" name="类型四"/>
    <attribute code = "5" name="类型五"/>
    </list>
    <list name="contractkind2">
    <attribute code = "1" name="类型一"/>
    <attribute code = "2" name="类型二"/>
    <attribute code = "3" name="类型三"/>
    <attribute code = "4" name="类型四"/>
    <attribute code = "5" name="类型五"/>
    </list>
    </lists>
      

  4.   

    <?xml version="1.0" encoding="utf-8"?>
    <list name="contractkind">
    <attribute code = "1" name="类型一"/>
    <attribute code = "2" name="类型二"/>
    <attribute code = "3" name="类型三"/>
    <attribute code = "4" name="类型四"/>
    <attribute code = "5" name="类型五"/>
    </list>
    <list name="contractkind2">
    <attribute code = "1" name="类型一"/>
    <attribute code = "2" name="类型二"/>
    <attribute code = "3" name="类型三"/>
    <attribute code = "4" name="类型四"/>
    <attribute code = "5" name="类型五"/>
    </list>
    这个不是xml文件,没有根节点,如果按xml来处理必定出错。你检查一下。修改后,使用DataSet.ReadXml加载到DataSet,再绑定数据最快。
      

  5.   

    搞定了,根节点只是忘记写了。我是这样做的
    XmlDocument xmlDoc=new XmlDocument();
    xmlDoc.Load("xmlfile");

    XmlNodeList xnl=xmlDoc.SelectSingleNode("root").ChildNodes;

    foreach(XmlNode xn in xnl)//遍历所有子节点
    {
    XmlElement xe=(XmlElement)xn;//将子节点类型转换为XmlElement类型 if(xe.GetAttribute("name")=="contractkind") //判断节点名称
    {
    XmlNodeList nls=xe.ChildNodes;//继续获取节点的所有子节点
    foreach(XmlNode xn2 in nls)
    {
    XmlElement xe2=(XmlElement)xn2;
    ddl.Items.Add(new ListItem(xe2.GetAttribute("name"),xe2.GetAttribute("code")));
    }
    }
    }
      

  6.   

    aspx
    ================
    <%@ Import NameSpace="System.Xml"%>
    <script language="C#" runat="server">
    void Page_Load(Object sender,EventArgs e)
    {if (!Page.IsPostBack) {
    XmlDocument doc=new XmlDocument();
    doc.Load(Server.MapPath("Persons.xml"));
    XmlNodeList nodes = doc.SelectNodes("//list[@name='contractkind']/attribute");
    for(int i = 0 ;i<nodes.Count;i++)
    {
    ListItem lItem = new ListItem(nodes[i].Attributes["name"].Value,nodes[i].Attributes["code"].Value);
    DataList1.Items.Add(lItem);
    }
    }
    }
    </script>
    <HTML>
    <HEAD>
    <title>my first asp.net</title>
    </HEAD>
    <body>
    <form runat=server>
    <asp:DropDownList id="DataList1" runat="server"/>
    </form>
    </body>
    </HTML>
    Persons.xml,注意保存为utf-8格式
    ==============
    <?xml version="1.0" encoding="utf-8"?>
    <lists>
    <list name="contractkind">
    <attribute code = "1" name="类型一"/>
    <attribute code = "2" name="类型二"/>
    <attribute code = "3" name="类型三"/>
    <attribute code = "4" name="类型四"/>
    <attribute code = "5" name="类型五"/>
    </list>
    <list name="contractkind2">
    <attribute code = "1" name="类型一"/>
    <attribute code = "2" name="类型二"/>
    <attribute code = "3" name="类型三"/>
    <attribute code = "4" name="类型四"/>
    <attribute code = "5" name="类型五"/>
    </list>
    </lists>
    aspx
    ================
    <%@ Import NameSpace="System.Xml"%>
    <script language="C#" runat="server">
    void Page_Load(Object sender,EventArgs e)
    {if (!Page.IsPostBack) {
    XmlDocument doc=new XmlDocument();
    doc.Load(Server.MapPath("Persons.xml"));
    XmlNodeList nodes = doc.SelectNodes("//list[@name='contractkind']/attribute");
    for(int i = 0 ;i<nodes.Count;i++)
    {
    ListItem lItem = new ListItem(nodes[i].Attributes["name"].Value,nodes[i].Attributes["code"].Value);
    DataList1.Items.Add(lItem);
    }
    }
    }
    </script>
    <HTML>
    <HEAD>
    <title>my first asp.net</title>
    </HEAD>
    <body>
    <form runat=server>
    <asp:DropDownList id="DataList1" runat="server"/>
    </form>
    </body>
    </HTML>
    Persons.xml,注意保存为utf-8格式
    ==============
    <?xml version="1.0" encoding="utf-8"?>
    <lists>
    <list name="contractkind">
    <attribute code = "1" name="类型一"/>
    <attribute code = "2" name="类型二"/>
    <attribute code = "3" name="类型三"/>
    <attribute code = "4" name="类型四"/>
    <attribute code = "5" name="类型五"/>
    </list>
    <list name="contractkind2">
    <attribute code = "1" name="类型一"/>
    <attribute code = "2" name="类型二"/>
    <attribute code = "3" name="类型三"/>
    <attribute code = "4" name="类型四"/>
    <attribute code = "5" name="类型五"/>
    </list>
    </lists>
    aspx
    ================
    <%@ Import NameSpace="System.Xml"%>
    <script language="C#" runat="server">
    void Page_Load(Object sender,EventArgs e)
    {if (!Page.IsPostBack) {
    XmlDocument doc=new XmlDocument();
    doc.Load(Server.MapPath("Persons.xml"));
    XmlNodeList nodes = doc.SelectNodes("//list[@name='contractkind']/attribute");
    for(int i = 0 ;i<nodes.Count;i++)
    {
    ListItem lItem = new ListItem(nodes[i].Attributes["name"].Value,nodes[i].Attributes["code"].Value);
    DataList1.Items.Add(lItem);
    }
    }
    }
    </script>
    <HTML>
    <HEAD>
    <title>my first asp.net</title>
    </HEAD>
    <body>
    <form runat=server>
    <asp:DropDownList id="DataList1" runat="server"/>
    </form>
    </body>
    </HTML>
    Persons.xml,注意保存为utf-8格式
    ==============
    <?xml version="1.0" encoding="utf-8"?>
    <lists>
    <list name="contractkind">
    <attribute code = "1" name="类型一"/>
    <attribute code = "2" name="类型二"/>
    <attribute code = "3" name="类型三"/>
    <attribute code = "4" name="类型四"/>
    <attribute code = "5" name="类型五"/>
    </list>
    <list name="contractkind2">
    <attribute code = "1" name="类型一"/>
    <attribute code = "2" name="类型二"/>
    <attribute code = "3" name="类型三"/>
    <attribute code = "4" name="类型四"/>
    <attribute code = "5" name="类型五"/>
    </list>
    </lists>
    aspx
    ================
    <%@ Import NameSpace="System.Xml"%>
    <script language="C#" runat="server">
    void Page_Load(Object sender,EventArgs e)
    {if (!Page.IsPostBack) {
    XmlDocument doc=new XmlDocument();
    doc.Load(Server.MapPath("Persons.xml"));
    XmlNodeList nodes = doc.SelectNodes("//list[@name='contractkind']/attribute");
    for(int i = 0 ;i<nodes.Count;i++)
    {
    ListItem lItem = new ListItem(nodes[i].Attributes["name"].Value,nodes[i].Attributes["code"].Value);
    DataList1.Items.Add(lItem);
    }
    }
    }
    </script>
    <HTML>
    <HEAD>
    <title>my first asp.net</title>
    </HEAD>
    <body>
    <form runat=server>
    <asp:DropDownList id="DataList1" runat="server"/>
    </form>
    </body>
    </HTML>
    Persons.xml,注意保存为utf-8格式
    ==============
    <?xml version="1.0" encoding="utf-8"?>
    <lists>
    <list name="contractkind">
    <attribute code = "1" name="类型一"/>
    <attribute code = "2" name="类型二"/>
    <attribute code = "3" name="类型三"/>
    <attribute code = "4" name="类型四"/>
    <attribute code = "5" name="类型五"/>
    </list>
    <list name="contractkind2">
    <attribute code = "1" name="类型一"/>
    <attribute code = "2" name="类型二"/>
    <attribute code = "3" name="类型三"/>
    <attribute code = "4" name="类型四"/>
    <attribute code = "5" name="类型五"/>
    </list>
    </lists>
    aspx
    ================
    <%@ Import NameSpace="System.Xml"%>
    <script language="C#" runat="server">
    void Page_Load(Object sender,EventArgs e)
    {if (!Page.IsPostBack) {
    XmlDocument doc=new XmlDocument();
    doc.Load(Server.MapPath("Persons.xml"));
    XmlNodeList nodes = doc.SelectNodes("//list[@name='contractkind']/attribute");
    for(int i = 0 ;i<nodes.Count;i++)
    {
    ListItem lItem = new ListItem(nodes[i].Attributes["name"].Value,nodes[i].Attributes["code"].Value);
    DataList1.Items.Add(lItem);
    }
    }
    }
    </script>
    <HTML>
    <HEAD>
    <title>my first asp.net</title>
    </HEAD>
    <body>
    <form runat=server>
    <asp:DropDownList id="DataList1" runat="server"/>
    </form>
    </body>
    </HTML>
    Persons.xml,注意保存为utf-8格式
    ==============
    <?xml version="1.0" encoding="utf-8"?>
    <lists>
    <list name="contractkind">
    <attribute code = "1" name="类型一"/>
    <attribute code = "2" name="类型二"/>
    <attribute code = "3" name="类型三"/>
    <attribute code = "4" name="类型四"/>
    <attribute code = "5" name="类型五"/>
    </list>
    <list name="contractkind2">
    <attribute code = "1" name="类型一"/>
    <attribute code = "2" name="类型二"/>
    <attribute code = "3" name="类型三"/>
    <attribute code = "4" name="类型四"/>
    <attribute code = "5" name="类型五"/>
    </list>
    </lists>