如何获取XML数据到列表框

本文关键字:数据 列表 XML 何获取 获取 | 更新日期: 2023-09-27 18:12:13

我在从XML文件获取数据到列表框时遇到了一个问题。

这是我想在列表框中获取的数据:

<gjester>
  <gjest>
    <id>test</id>
     <fornanv>test</fornanv>
     <etternavn>test</etternavn>
     <adresse>test</adresse>
     <telefonnr>test</telefonnr>
  </gjest>
</gjester> 

,我在gui中创建了一个列表框。但是我不知道在我的代码里该写些什么。

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
 I don't know what to write here
}

如何获取XML数据到列表框

将XML文件中的项添加到列表框的方法大约有千百种,但是最好从XMLTextReader类的MSDN文档和listbox . items . add()方法开始。

此外,您可能希望在列表框上的SelectedIndexChanged事件之外的其他地方执行此操作。为了便于学习,请在点击按钮时进行尝试。

祝你好运——看完上面的内容,我相信如果你还没有弄清楚的话,有人会帮助你的。

这是。net 4.0 (VS2010 c#),完全未经测试,但可能会给你一个开始....

private void FillListBoxWithThingsIWantToSelect()
{
       XDocument ListBoxOptions = XDocument.Load(Filename);
        foreach (XElement element in ListBoxOptions.Root.Elements())
        {  
        if (element.Name.LocalName.Contains("gjester"))
            {
            foreach (XElement subelement in element.Elements())
               {
               if (subelement.Name.LocalName.Contains("gjest"))
                   {
                   // What do you want to add? The Attribute? Element value
                    listbox1.Items.Add(element.Value.ToString());
                   } 
               }   
            }
        }
}
如果你在列表框中列出你的平台和你想要的东西,

会有帮助。你想从你的构造函数中调用它。

可以使用dictionary对象将数据从XML绑定到Listbox。

var dic = (from order in ds.Tables[0].AsEnumerable()
                   select new
                   {
                       UserView = order.Field<String>("Value"),
                       DevView = order.Field<String>("id")
                   }).AsEnumerable().ToDictionary(k => k.DevView, v => v.UserView);

点击这里查看参考