对如何读取xml文件感到困惑

时间:2013-12-21 13:51:00

标签: c# linq-to-xml detailsview

几个小时后,我终于能够从xml文件中获取用户详细信息,但我不知道如何使用ComboBoxTextBox进行过滤。我一直在互联网上搜索样本,但我发现它非常复杂。你能给我一个线索吗?最简单的方法是什么?

XML文件

<kisiler>
   <kisi>
      <no>1</no>
      <isim>Mehmet</isim>
      <soyisim>Duran</soyisim>
   </kisi>
<kisiler>

这是我目前的代码

private void button1_Click(object sender, EventArgs e)
{

   XDocument doc = XDocument.Load(@"C:\dosya.xml");
   var q = from c in doc.Elements("kisiler").Elements("kisi")
   select new
   {

       num = c.Element("no").Value,
       name = c.Element("isim").Value,
   };

   listView1.Columns.Add("Number", 100, HorizontalAlignment.Left);
   listView1.Columns.Add("Name", 100, HorizontalAlignment.Left);
   foreach (var item in q)
   {
      var lvi=listView1.Items.Add(item.num);
           lvi.SubItems.Add(item.name);
   }
}

1 个答案:

答案 0 :(得分:0)

此代码段可能对您有所帮助。第一个循环xml节点,同时添加到ListView中,这样更容易

已更新:

XmlDocument doc = new XmlDocument();
doc.Load("sample.xml");
XmlElement root = doc.DocumentElement;
XmlNodeList nodes = root.SelectNodes("some_node"); // You can also use XPath here

foreach (XmlNode node in nodes)
{ 
    listView1.Items.Add(node.Attributes["element name"].Value);
    // or add here your listview items
}