fork download
  1. using System;
  2. using System.IO;
  3. using System.Xml.Serialization;
  4.  
  5. public class Test
  6. {
  7. public static void Main()
  8. {
  9. XmlSerializer serializer = new XmlSerializer(typeof(Message));
  10. //serializer.UnknownNode += serializer_UnknownNode;
  11. try
  12. {
  13. var s = @"<DocumentElement>
  14. <person>
  15. <Age>13</Age>
  16. <Name>My Name</Name>
  17. </person>
  18. </DocumentElement>";
  19. var input = GenerateStreamFromString(s);
  20. Message xmlMessage = (Message)serializer.Deserialize(input);
  21. Console.WriteLine(xmlMessage.person.Age);
  22. }
  23. catch (Exception ex)
  24. {
  25.  
  26. }
  27. }
  28.  
  29. public static Stream GenerateStreamFromString(string s)
  30. {
  31. MemoryStream stream = new MemoryStream();
  32. StreamWriter writer = new StreamWriter(stream);
  33. writer.Write(s);
  34. writer.Flush();
  35. stream.Position = 0;
  36. return stream;
  37. }
  38. }
  39.  
  40. [XmlRoot(ElementName = "DocumentElement", Namespace = "")]
  41. public class Message
  42. {
  43. public Person person;
  44. public class Person
  45. {
  46. public int Age { get; set; } // readonly
  47. public String Name { get; set; }
  48. }
  49. }
Success #stdin #stdout 0.28s 32080KB
stdin
Standard input is empty
stdout
13