SORU
3 Mart 2009, Salı


Mümkün serisini Listesine XML&; T> lt için?

Verilen aşağıdaki XML:

<?xml version="1.0"?>
<user_list>
   <user>
      <id>1</id>
      <name>Joe</name>
   </user>
   <user>
      <id>2</id>
      <name>John</name>
   </user>
</user_list>

Ve aşağıdaki sınıfı:

public class User {
   [XmlElement("id")]
   public Int32 Id { get; set; }

   [XmlElement("name")]
   public String Name { get; set; }
}

XmlSerializer List<User> bir xml serisini kullanmak mümkün mü ? Eğer öyleyse, ne tür ek özellikler ek parametreler ne kullanmak lazım, ya da ben XmlSerializer örnek oluşturmak için kullanmak gerekir?

Bir dizi ( User[] ) biraz daha az tercih edilen ise kabul edilebilir olurdu.

CEVAP
3 Mart 2009, Salı


Yapabilirsinizsaklanmasıliste basit:

using System;
using System.Collections.Generic;
using System.Xml.Serialization;

[XmlRoot("user_list")]
public class UserList
{
    public UserList() {Items = new List<User>();}
    [XmlElement("user")]
    public List<User> Items {get;set;}
}
public class User
{
    [XmlElement("id")]
    public Int32 Id { get; set; }

    [XmlElement("name")]
    public String Name { get; set; }
}

static class Program
{
    static void Main()
    {
        XmlSerializer ser= new XmlSerializer(typeof(UserList));
        UserList list = new UserList();
        list.Items.Add(new User { Id = 1, Name = "abc"});
        list.Items.Add(new User { Id = 2, Name = "def"});
        list.Items.Add(new User { Id = 3, Name = "ghi"});
        ser.Serialize(Console.Out, list);
    }
}

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • audivila

    audivila

    5 HAZİRAN 2009
  • EmperorTigerstar

    EmperorTiger

    14 EYLÜL 2009
  • Lamborghini

    Lamborghini

    13 Aralık 2005