2017-02-12 76 views
0

如何将XML加载到收集和查看数据网格。 My Xml file如何将XML文件加载到集合C#Windows窗体

在XML中添加新的记录

private void addToXml(bool value) 
{ 
    List<klientprywatny> klienci = new List<klientprywatny>(); 
    klienci.Add(new klientprywatny() { Imie = txtImie.Text, Nazwisko = txtNazwisko.Text, miasto = txtMiasto.Text, ulica = txtUlica.Text, 
     kodpocztowy = txtKodPocztowy.Text, telefon = txtTelefon.Text, email = txtEmail.Text, numer = txtNumer.Text }); 


    XDocument doc = XDocument.Load("Osoby.xml"); 
    var osoba = 
     from klient in klienci 
     orderby klient.Nazwisko, klient.Imie 
     select new XElement("osoba", 
      new XElement("imie", klient.Imie), 
       new XElement("nazwisko", klient.Nazwisko), 
       new XElement("miasto", klient.miasto), 
       new XElement("ulica", klient.ulica), 
       new XElement("kodpocztowy", klient.kodpocztowy), 
       new XElement("telefon", klient.telefon), 
       new XElement("email", klient.email), 
       new XElement("numer", klient.numer) 
     ); 

    doc.Root.Element("prywatni").Add(osoba); 
    doc.Save("Osoby.xml"); 

} 

我试图 的XDocument XML = XDocument.Load( “Osoby.xml”);

 List<klientprywatny> klienci = (
      from osoba in xml.Root.Elements("osoba") 
      select new osoba(
       osoba.Element("imie").Value, 
       osoba.Element("nazwisko").Value, 
       osoba.Element("miasto").Value, 
       osoba.Element("ulica").Value, 
       osoba.Element("kodpocztowy").Value, 
       osoba.Element("telefon").Value, 
       osoba.Element("email").Value, 
       osoba.Element("numer").Value 
       ) 
      ).ToList<klientprywatny>(); 

,但它不工作

回答

0

你可以从XML元素到您的列表如下:

IEnumerable<osoba> result = from c in xml.Descendants("osoba") 
          select new osoba() 
          { 
           Imie = (string)c.Element("imie").Value, 
           Nazwisko = (string)c.Element("nazwisko").Value, 
           miasto = (string)c.Element("miasto").Value, 
           ulica = (string)c.Element("ulicia").Value, 
           kodpocztowy = (string)c.Element("kodpocztowy").Value, 
           email = (string)c.Element("telefon").Value, 
           numer = (string)c.Element("email").Value, 
           telefon = (string)c.Element("numer").Value, 
          }; 

我已经测试此代码,它完美的作品。

希望它有帮助。

+0

如何在此集合从datagrindview绑定到允许编辑。下一步是保存回我的xml文件。 – ari011

相关问题