KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have a rather detailed xml file. Below is the top level nodes (I have included the ellipse as the lower level nodes are all well formed and properly filled with data): <?xml version="1.0" encoding="UTF-8"?> <config> <Models>...</Models> <Data>...</Data> </config> I have created an xsd file from using the Visual Studio 2008 command prompt: xsd sample.xml This generates the xsd file just fine. I then auto generate classes from the xsd with the command: xsd sample.xsd /classes For the deserialization of the xml file into a class object, I'm using the read function in the helper class: public class XmlSerializerHelper<T> { public Type _type; public XmlSerializerHelper() { _type = typeof(T); } public void Save(string path, object obj) { using (TextWriter textWriter = new StreamWriter(path)) { XmlSerializer serializer = new XmlSerializer(_type); serializer.Serialize(textWriter, obj); } } public T Read(string path) { T result; using (TextReader textReader = new StreamReader(path)) { XmlSerializer deserializer = new XmlSerializer(_type); result = (T)deserializer.Deserialize(textReader); } return result; } } When attempting the deserialization with: var helper = new XmlSerializerHelper<configModels>(); var obj = new configModels(); obj = helper.Read(filepath); I receive an error that I have deduced is because the deserializer is looking for the 'Models' node but the corresponding class name was generated as a combination of the root node and the 'Model' node (configModels). Why are the class names generated like this? I tried to deserialize from the top node using:
Tags (comma-separated)
Save Edits
Cancel