Bunun gibi bir sınıfım var:Xzx1 için XmlElementAttribute nasıl kullanılır?
public class Level
{
[XmlAttribute]
public string Guid { get; set; }
}
public class LevelList : List<Level>
{
}
public class Test
{
public LevelList CalLevelList { get; set; }
}
XmlSerializer kullanarak, çıktıyı şu şekilde elde ederim:
<CalLevelList>
<Level Guid="0de98dfb-ce06-433f-aeae-786b6d920aa6"/>
<Level Guid="0de98dfb-ce06-433f-aeae-786b6d920aa7"/>
</CalLevelList>
Teknik olarak doğrudur. Bununla birlikte, sınıf isimlerini değiştirmeden, çıktıyı şöyle görünmesini istiyorum:
<Levels>
<L Guid="0de98dfb-ce06-433f-aeae-786b6d920aa6"/>
<L Guid="0de98dfb-ce06-433f-aeae-786b6d920aa7"/>
</Levels>
Bunun özelliklerle yapıldığını biliyorum, ancak nasıl olduğunu anlayamadım. Test sınıfına şu şekilde bir nitelik eklediğimde:
public class Test
{
[XmlElement("Levels")]
public LevelList CalLevelList { get; set; }
}
çıktı oldukça şaşırtıcıdır:
<Levels Guid="0de98dfb-ce06-433f-aeae-786b6d920aa6"/>
<Levels Guid="0de98dfb-ce06-433f-aeae-786b6d920aa7"/>
Yani, ana düğümü kaybettim. Belirttiğim öğe adı bir düğüm adı olur. Neden bu? Nasıl çalıştırılır?
Çalışıyor. Çok teşekkür ederim! – newman