Question

InC# WinForms I can derialize my XML file like so

    FileInfo fi = new FileInfo(filename);

    StreamReader file = new StreamReader(fi.FullName);


    XmlSerializer reader = new XmlSerializer(typeof(Scene));

    Scene scene = new Scene();
    scene = (Scene)reader.Deserialize(file);


    file.Close();
    file.Dispose();

But in Silverlight I have to download the XML and read it as a String so I need to be able to Deserialize a XML String. Not sure how its done.

Something like this would be good

    StringReader text = new StringReader(fi.FullName);


    XmlSerializer reader = new XmlSerializer(typeof(Scene));

    Scene scene = new Scene();
    scene = (Scene)reader.Deserialize(text);

No correct solution

OTHER TIPS

In silverlight,

 using (MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(xml))) {

            DataContractSerializer dcs = new DataContractSerializer(obj.GetType());

            return (object)dcs.ReadObject(ms);

    }

Say Person is the name of your class,

 using (MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(xml)))
       {
        DataContractSerializer serializer = new DataContractSerializer(person.GetType());
       return (person)serializer.ReadObject(ms);

       }
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top