tags:

views:

279

answers:

3

I tried using xsd.exe to convert an .xsd file into a C# class. It worked, but I'm still not quite sure how to use this class. It has several class-level attributes but the most interesting is System.Xml.Serialization.XmlTypeAttribute. Which class uses that attribute?

Is there a simple way to turn an instantiation of this class into a string of XML?

A: 

Yes. Look at XmlSerializer [and StringWriter if you like].

Fakrudeen
A: 

Use the classes like normal classes. Then, when you serialize them to XML, the XML will validate against the schema. You can also take XML that validates against the schema and deserialize it back into instances of the classes.

John Saunders
+2  A: 

Super straight-forward. I love the xsd tool. I have taken some liberties below.

//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))
   newXmlSerializer(typeof(YourRootType)).Serialize(fs, inst);
Grant Back