SORU
1 HAZİRAN 2010, Salı


XML C yaratılış XDocument Kullanarak dosya#

bir liste (List< string>) ""içerir . sampleList

Data1
Data2
Data3...

Nasıl bir XML dosyası c keskin listedeki öğeleri yineleme tarafından XDocument kullanarak oluşturmak için.

Dosya yapısı gibi

<file>
   <name filename="sample"/>
   <date modified ="  "/>
   <info>
     <data value="Data1"/> 
     <data value="Data2"/>
     <data value="Data3"/>
   </info>
</file>

Şimdi XmlDocument bunu yapmak için kullanıyorum

Örnek

        List<string> lst;
        XmlDocument XD = new XmlDocument();
        XmlElement root = XD.CreateElement("file");
        XmlElement nm = XD.CreateElement("name");
        nm.SetAttribute("filename", "Sample");
        root.AppendChild(nm);
        XmlElement date = XD.CreateElement("date");
        date.SetAttribute("modified", DateTime.Now.ToString());
        root.AppendChild(date);
        XmlElement info = XD.CreateElement("info");
        for (int i = 0; i < lst.Count; i  ) 
        {
            XmlElement da = XD.CreateElement("data");
            da.SetAttribute("value",lst[i]);
            info.AppendChild(da);
        }
        root.AppendChild(info);
        XD.AppendChild(root);
        XD.Save("Sample.xml");

lütfen bana bunu yapmak için yardımcı olur

CEVAP
1 HAZİRAN 2010, Salı


XML bu SERİ bu kadar basit, üç özellikleri sağlar:

  • Bir parçası belgeyi bilmeden bir nesne oluşturabilirsiniz
  • Bir nesne oluşturmak ve bağımsız olarak çocukların sağlayabilir
  • Eğer bir argüman iterable ise, yinelenen her şey sona erecek

Bu yüzden buraya sadece bunu yapabilirsiniz:

List<string> list = ...;

XDocument doc =
  new XDocument(
    new XElement("file",
      new XElement("name", new XAttribute("filename", "sample")),
      new XElement("date", new XAttribute("modified", DateTime.Now)),
      new XElement("info",
        list.Select(x => new XElement("data", new XAttribute("value", x)))
      )
    )
  );

Bu kod düzeni kasten belge yapısı kendisini yansıtması kodu yapmak için kullandım.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Andrey Menshikov

    Andrey Mensh

    28 Ocak 2012
  • brokenbellsVEVO

    brokenbellsV

    11 EYLÜL 2009
  • Ralph Phillips

    Ralph Philli

    5 Aralık 2006