Advertisement
Guest User

Untitled

a guest
Jun 26th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.92 KB | None | 0 0
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <root>
  3. <address>24</address>
  4. <city>New-York</city>
  5. <state>Alabama</state>
  6. <firstPerson>
  7. <age>19</age>
  8. <name>Jey</name>
  9. <department>none</department>
  10. </firstPerson>
  11. <secondPerson>
  12. <age>22</age>
  13. <name>Abraham</name>
  14. <department>none</department>
  15. </secondPerson>
  16. </root>
  17.  
  18. [XmlRoot(ElementName="firstPerson")]
  19. public class FirstPerson {
  20. [XmlElement(ElementName="age")]
  21. public string Age { get; set; }
  22. [XmlElement(ElementName="name")]
  23. public string Name { get; set; }
  24. [XmlElement(ElementName="department")]
  25. public string Department { get; set; }
  26. }
  27.  
  28. [XmlRoot(ElementName="secondPerson")]
  29. public class SecondPerson {
  30. [XmlElement(ElementName="age")]
  31. public string Age { get; set; }
  32. [XmlElement(ElementName="name")]
  33. public string Name { get; set; }
  34. [XmlElement(ElementName="department")]
  35. public string Department { get; set; }
  36. }
  37.  
  38. [XmlRoot(ElementName="root")]
  39. public class Root {
  40. [XmlElement(ElementName="address")]
  41. public string Address { get; set; }
  42. [XmlElement(ElementName="city")]
  43. public string City { get; set; }
  44. [XmlElement(ElementName="state")]
  45. public string State { get; set; }
  46. [XmlElement(ElementName="firstPerson")]
  47. public FirstPerson FirstPerson { get; set; }
  48. [XmlElement(ElementName="secondPerson")]
  49. public SecondPerson SecondPerson { get; set; }
  50. }
  51.  
  52. [Serializable]
  53. [XmlRoot(ElementName="root")]
  54. public class People
  55. {
  56. public byte Address { get; set; }
  57.  
  58. public string City { get; set; }
  59.  
  60. public string State { get; set; }
  61.  
  62. [XmlElement(ElementName = "firstPerson")]
  63. public Person FirstPerson { get; set; }
  64.  
  65. [XmlElement(ElementName = "secondPerson")]
  66. public Person SecondPerson { get; set; }
  67. }
  68.  
  69. [Serializable]
  70. [XmlRoot(ElementName = "root")]
  71. public class Person
  72. {
  73. public byte Age { get; set; }
  74.  
  75. public string Name { get; set; }
  76.  
  77. public string Department { get; set; }
  78. }
  79.  
  80. internal class Program
  81. {
  82. private const string xmlPath = "test.xml";
  83.  
  84. private static void Main(string[] args)
  85. {
  86. var value = DeserializeSettings();
  87.  
  88. Console.WriteLine(value.Address);
  89. Console.WriteLine(value.City);
  90. Console.WriteLine(value.State);
  91. Console.WriteLine(value.FirstPerson.Age);
  92. Console.WriteLine(value.FirstPerson.Name);
  93. Console.WriteLine(value.FirstPerson.Department);
  94.  
  95. Console.ReadKey();
  96. }
  97.  
  98. private static People DeserializeSettings()
  99. {
  100. try
  101. {
  102. var serializer = new XmlSerializer(typeof(People));
  103. var path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, xmlPath);
  104. var reader = new StreamReader(path);
  105. var people = (People) serializer.Deserialize(reader);
  106. reader.Close();
  107.  
  108. return people;
  109. }
  110. catch (Exception e)
  111. {
  112. Console.WriteLine(e);
  113. return new People();
  114. }
  115. }
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement