Xml Deserialize
-
Firm türünden bir liste nesnesi oluşturup içine atmak istiyorum.
private static List<Firm> data;
Asayisci tarafından 24/Eyl/23 00:40 tarihinde düzenlenmiştir -
[XmlRoot("Firmalar")] public class Firms { [XmlElement("Firm")] public List<Firm> FirmList { get; set; } } public class Firm { public int ID { get; set; } public string Title { get; set; } } class Program { static void Main(string[] args) { Firms firms = Deserialize(); // firms.FirmList buradan erisebilirsin } private static Firms Deserialize() { FileStream fileStream = new FileStream("firms.xml", FileMode.Open); Firms firms = (Firms)(new XmlSerializer(typeof(Firms))).Deserialize(fileStream); fileStream.Close(); return firms; } }
main içine de bunu yazabilirsin. alanları kendine gore düzenle
Firms firms = Deserialize(); foreach (Firm firm in firms.FirmList) { Console.WriteLine($"ID: {firm.ID}"); Console.WriteLine($"Title: {firm.Title}"); Console.WriteLine("-----------------"); }
-
sorunun kaynağı Deserialize fonksiyonunu liste çevirdiğim anda "InvalidOperationException: <Firmalar xmlns=''> beklenmiyordu." hatası alıyorum..
private static List<Firms> Deserialize()
{
FileStream fileStream = new FileStream("firms.xml", FileMode.Open);
List<Firms> templates = (List <Firms>)(new XmlSerializer(typeof(List<Firms>))).Deserialize(fileStream);
fileStream.Close();
return templates;
} -
Asayisci bunu yazdı
sorunun kaynağı Deserialize fonksiyonunu liste çevirdiğim anda "InvalidOperationException: beklenmiyordu." hatası alıyorum..
private static List Deserialize()
{
FileStream fileStream = new FileStream("firms.xml", FileMode.Open);
List templates = (List )(new XmlSerializer(typeof(List))).Deserialize(fileStream);
fileStream.Close();
return templates;
}bi onceki mesajim ihtiyacinin %100'ünü karşılayacaktır.
-
wh0 bunu yazdı
[XmlRoot("Firmalar")] public class Firms { [XmlElement("Firm")] public List FirmList { get; set; } } public class Firm { public int ID { get; set; } public string Title { get; set; } } class Program { static void Main(string[] args) { Firms firms = Deserialize(); // firms.FirmList buradan erisebilirsin } private static Firms Deserialize() { FileStream fileStream = new FileStream("firms.xml", FileMode.Open); Firms firms = (Firms)(new XmlSerializer(typeof(Firms))).Deserialize(fileStream); fileStream.Close(); return firms; } }
main içine de bunu yazabilirsin. alanları kendine gore düzenle
Firms firms = Deserialize(); foreach (Firm firm in firms.FirmList) { Console.WriteLine($"ID: {firm.ID}"); Console.WriteLine($"Title: {firm.Title}"); Console.WriteLine("-----------------"); }
çöp möp dedin ama işimi çözdüm. minnettarım dostum.
istanbul da isen sana bi dondurma ikram etmek isterim özelden yaz. :) -
ah asla geri çeviremeyeceğim nazik ve cazip bir teklif bu... kaç cm bu dondurma ona göre düşüneceğim. Istanbuldayım.
-
wh0 bunu yazdı
ah asla geri çeviremeyeceğim nazik ve cazip bir teklif bu... kaç cm bu dondurma ona göre düşüneceğim. Istanbuldayım.
bahsettiğin konuda henüz kendimi hazır hissetmiyorum. :DDD sanırım anolog devam edeceğim.
lakin ben adresi PM ye attım. Gerçek el yapımı maraş dondurma tatmak isteyenleri bekleriz. -
Hocam visual studioda çok süper bir özellik var. XML i kopyala, sonra edit menusunden paste as class yap.
Ondan sonra o classa cast etmeye çalış
bi de xmlns kısmını silsen bi anlam kaybetmez kaynak veriden
-
HolyOne bunu yazdı
Hocam visual studioda çok süper bir özellik var. XML i kopyala, sonra edit menusunden paste as class yap.
Ondan sonra o classa cast etmeye çalış
bi de xmlns kısmını silsen bi anlam kaybetmez kaynak veriden
xml teknolojisinin öldüğünü dusunuyordum. megersem cop teknolojiler birbirini yasama sansi veriyor...
-
Asayisci bunu yazdıwh0 bunu yazdı
[XmlRoot("Firmalar")] public class Firms { [XmlElement("Firm")] public List FirmList { get; set; } } private static Firms Deserialize() { FileStream fileStream = new FileStream("firms.xml", FileMode.Open); Firms templates = (Firms)(new XmlSerializer(typeof(Firms))).Deserialize(fileStream); fileStream.Close(); return templates; }
cop bir dil oldugu icin bunlari ilave edersen duzelecektir.
tamamdır. çalıştı şimdi inceliyeceğim nerde hata yaptım anlamıyorum
https://www.youtube.com/watch?v=UiyxPIvB89Q