当前位置: 首页 > 编程语言 > C#

使用XmlArray反序列化xml文件?分享

时间:2023-04-10 18:08:23 C#

使用XmlArray反序列化xml文件?我正在尝试反序列化此xml结构。测试测试测试测试我试过了:放;}[XmlArray("Health")][XmlArrayItem("Veggie")]publicstring[]Veggie{get;放;但这会引发异常“当前范围内已存在XML元素。使用XML属性为元素指定另一个XML名称或命名空间。”谢谢。您需要一个泛型类型才能反序列化XML,您可以使用[XmlElement]命名空间来定义根据元素名称实例化的类型,如下所示。以上就是C#学习教程:UseXmlArraytodeserializexmlfiles?如果分享的内容对你有用,需要了解更多C#学习教程,希望你多多关注——publicclassStackOverflow_15907357{conststringXML=@"TestTestTestTest";[XmlRoot(ElementName="DietPlan")]publicclassTestSerialization{[XmlArray("Health")][XmlArrayItem("Fruit",Type=typeof(Fruit))][XmlArrayItem("Veggie",Type=typeof(Veggie))]publicFood[]Foods{get;放;}}[XmlInclude(typeof(Fruit))][XmlInclude(typeof(Veggie))]publicclassFood{[XmlText]publicstringText{get;放;}}publicclassFruit:Food{}publicclassVeggie:Food{}publicstaticvoidTest(){MemoryStreamms=newMemoryStream(Encoding.UTF8.GetBytes(XML));XmlSerializerxs=newXmlSerializer(typeof(TestSerialization));TestSerializationobj=(TestSerialization)xs.Deserialize(ms);foreach(varfoodinobj.Foods){Console.WriteLine("{0}:{1}",food.GetType().Name,food.Text);}}}本文收集自网络,不代表立场,如涉及侵权,请点击右侧联系管理员删除,如需转载请注明出处: