Possible Duplicate:
How to Deserialize XML document
Suppose that I have a class that is defined like this in C#:
public class Book
{
public string Title {get; set;}
public string Subject {get; set;}
public string Author {get; set;}
}
Suppose that I have XML that looks like this:
<Book>
<Title>The Lorax</Title>
<Subject>Children's Literature</Subject>
<Author>Theodor Seuss Geisel</Author>
<Book>
If I would like to instantiate an instance of the Book
class using this XML, the only way I know of to do this is to use the XML Document class and enumerate the XML nodes.
Does the .net framework provide some way of instantiating classes with XML code? If not, what are the best practices for accomplishing this?
You can just use XML serialization to create an instance of the class from the XML:
There are several ways to deserialize an XML document - the
XmlSerializer
living inSystem.Xml.Serialization
and the newerDataContractSerializer
which is inSystem.Runtime.Serialization
.Both require that you decorate your class members with attributes that tell the serializer how to operate (different attributes for each).