XmlSerializer. Deserialize解析xml

前端之家收集整理的这篇文章主要介绍了XmlSerializer. Deserialize解析xml前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

xml结构:

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <teacher LessonTitle="测试">
  3. <general title="你懂的" msg="不懂"/>
  4. <descrption document="jjkk" />
  5. <part PartTitle="测试" PartNum="5" PartOver="1">
  6. <sco ScoTitle="S001" isok="测试" />
  7. <quest Title="测试" />
  8. </part>
  9. <part PartTitle="测试" PartNum="5" PartOver="1">
  10. <sco ScoTitle="S001" isok="测试" />
  11. <quest Title="测试" />
  12. <!--间隔线-->
  13. <sco ScoTitle="S001" isok="测试" />
  14. <quest Title="测试" />
  15. </part>
  16. <part PartTitle="测试">
  17. <sco ScoTitle="S001" isok="测试" />
  18. <quest Title="测试" />
  19. <!--间隔线-->
  20. <sco ScoTitle="S001" isok="测试" />
  21. <quest Title="测试" />
  22. <!--间隔线-->
  23. <sco ScoTitle="S001" isok="测试" />
  24. <quest Title="测试" />
  25. </part>
  26. <!--....part部分-->
  27. </teacher>
类结构:
  1. [XmlRoot]
  2. public class teacher
  3. {
  4. [XmlAttribute]
  5. public string LessonTitle { get; set; }
  6.  
  7. [XmlElement]
  8. public general general { get; set; }
  9.  
  10. [XmlElement]
  11. public descrption descrption { get; set; }
  12.  
  13. [XmlElement("part")]
  14. public List<part> partlist { get; set; }
  15. }
  16.  
  17. public class general
  18. {
  19. [XmlAttribute]
  20. public string title { get; set; }
  21.  
  22. [XmlAttribute]
  23. public string msg { get; set; }
  24. }
  25. public class descrption
  26. {
  27. [XmlAttribute]
  28. public string document { get; set; }
  29. }
  30.  
  31. //================>part
  32. public class part
  33. {
  34. [XmlAttribute]
  35. public string PartTitle { get; set; }
  36.  
  37. [XmlAttribute]
  38. public string PartNum { get; set; }
  39.  
  40. [XmlAttribute]
  41. public string PartOver { get; set; }
  42.  
  43. [XmlElement(ElementName = "sco",Type = typeof(sco),IsNullable = true)]
  44. [XmlElement(ElementName = "quest",Type = typeof(quest),IsNullable = true)]
  45. public List<kk> kks { get; set; }
  46. }
  47.  
  48. public class kk
  49. {
  50. }
  51. public class sco : kk
  52. {
  53. [XmlAttribute]
  54. public string ScoTitle { get; set; }
  55.  
  56. [XmlAttribute]
  57. public string isok { get; set; }
  58. }
  59. public class quest :kk
  60. {
  61. [XmlAttribute]
  62. public string Title { get; set; }
  63. }
获取teacher对象:
  1. XmlSerializer serializer = new XmlSerializer(typeof(teacher));
  2.  
  3.  
  4. using (TextReader reader = new StreamReader("XmlFile1.xml"))
  5. {
  6. teacher result = serializer.Deserialize(reader) as teacher;
  7. }

猜你在找的XML相关文章