本文介绍了将xml数据源绑定到下拉列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

HI all,

i有这个xml文件



HI all,
i have this xml document

<RolesList>
  <Roles ID="01">
    <Role>
      <text>HO Admin</text>
      <value>1</value>
    </Role>
    <Role>
      <text>Circle Admin</text>
      <value>2</value>
      </Role>
    <Role>
      <text> Branch Admin</text>
      <value>3</value>
     </Role>
  </Roles>
  <Roles ID="02">
    <Role>
      <text> Branch Admin</text>
      <value>3</value>
    </Role>
  </Roles>
</RolesList>





i希望将此xml绑定到我的下拉列表

但是我无法绑定它

我亲自检查一下loged的角色

然后根据它选择一个节点然后我想要将该节点绑定到下拉列表

这里是我的代码:







i want to bind this xml to my dropdown list
but i m not able to bind it
firt i check for role of loged in person
and then select a node basing on that and then i want to bind that node to dropdownlist
here is my code:


XmlDataSource oXmlDataSource = new XmlDataSource();
            oXmlDataSource.XPath = "siteMap/siteMapNode";
            XmlDocument doc = new XmlDocument();
            doc.Load(Server.MapPath("~/Web/sitemap/LoadRole.xml"));
            XmlNode root = doc.DocumentElement;
            XmlNodeList nodeList = doc.SelectNodes("/RolesList/Roles[@ID=" + UserRole + "]");
            drpUpdateRole.Items.Insert(0, new ListItem(string.Empty, string.Empty));
            List<ListItem> items = new List<ListItem>();

            foreach (XmlNode node in nodeList)
            {
                 for (int i = 0; i < node.ChildNodes.Count; i++)
                {

                    items.Add(new ListItem(node.ChildNodes[i].Attributes["text"].Value, node.ChildNodes[i].Attributes["value"].Value));

            }

            }
            drpUpdateRole.Items.AddRange(items.ToArray());







但它无法正常工作.. :(

请帮帮我..

提前谢谢

上帝保佑你们所有..:)




but it is not working..:(
please help me..
thank you in advance
god bless u all..:)

推荐答案


{
            XmlDataSource oXmlDataSource = new XmlDataSource();
            oXmlDataSource.XPath = "siteMap/siteMapNode";
            XmlDocument doc = new XmlDocument();
            doc.Load(Server.MapPath(".") + "\\LoadRole.xml");
            XmlNode root = doc.DocumentElement;
            //  XmlNodeList nodeList = doc.SelectNodes("/RolesList/Roles[@ID=" + UserRole + "]");
            XmlNodeList nodeList = doc.SelectNodes("/RolesList/Roles[@ID=01]");

            drpUpdateRole.Items.Insert(0, new ListItem(string.Empty, string.Empty));
            List<ListItem> items = new List<ListItem>();

            foreach (XmlNode node in nodeList)
            {
                for (int i = 0; i < node.ChildNodes.Count; i++)
                {
                    string text = node.ChildNodes[i].InnerXml;
                    string xml = @"<Test>" + text + "</Test>";
                    XDocument doc2 = XDocument.Parse(xml);
                    //Get your wood nodes and values in a list 
                    List<Tuple<string, string>> list = doc2.Descendants().Select(a => new Tuple<string, string>(a.Name.LocalName, a.Value)).ToList();
                    items.Add(new ListItem(list[1].Item2, list[2].Item2));

                }

            }
            drpUpdateRole.Items.AddRange(items.ToArray());
        }





jmd

: - )



jmd
:-)



这篇关于将xml数据源绑定到下拉列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-20 21:01