2010-02-09 23 views
8

Bir .xsd dosyasını C# sınıfına dönüştürmek için xsd.exe kullanmayı denedim. Çalıştı, ama hala bu sınıfı nasıl kullanacağımı tam olarak bilmiyordum. Birkaç sınıf düzeyi öznitelikleri vardır, ancak en ilginç olanı System.Xml.Serialization.XmlTypeAttribute'dir. Hangi sınıf bu özelliği kullanıyor?xsd.exe/c çıkışı nasıl kullanılır?

Bu sınıfın bir örneğini bir XML dizesine dönüştürmenin basit bir yolu var mı?

cevap

6

Süper düz ileri. Xsd aracını seviyorum. Aşağıda bazı özgürlükler aldım.

//From xml to object 
YourRootType inst = new XmlSerializer(typeof(YourRootType)).Deserialize(XmlReader.Create("some.xml")); 

//From object to xml 
Using(FileStream fs = new FileStream("some.xml", FileMode.Create)) 
    new XmlSerializer(typeof(YourRootType)).Serialize(fs, inst); 
0

Evet. 'a [ve isterseniz StringWriter] bakın.

0

Sınıfları normal sınıflar gibi kullanın. Daha sonra, bunları XML'e serileştirdiğinizde, XML şemaya göre doğrular. Şemaya karşı geçerli olan XML'leri de alabilir ve bunları sınıfların örneklerine geri gönderebilirsiniz.