2017-02-12 82 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

相關問題