将这个XML文档转换成我的对象最简单的方法是什么?我有一个XMLDocument,我需要读入它并将其转换为一组对象。我有以下对象publicclassLocation{publicstringName;公共清单建筑物;}publicclassBuilding{publicstringName;公共列表室;我有以下XML文件:186186执行此操作的最佳方法是什么?我应该自动将xmldocument序列化为对象还是需要解析每个元素并手动转换为我的对象?特别是,我正在尝试弄清楚如何转换集合(位置、建筑物等)。将此XML文件转换为基本文件的最佳建议是什么?列出对象?您可以从修复XML开始,因为在您显示的示例中,您有未关闭的标签。您还可以将您的标记包装到一个集合中,以便能够在此Location类中拥有建筑物以外的属性。186186修复XML后,就可以调整模型了。我建议您在类中使用属??性而不是字段:publicclassLocation{[XmlAttribute("name")]publicstringName{get;放;}publicListBuildings{get;放;}}publicclassBuilding{[XmlAttribute("name")]publicstringName{get;放;}publicListRooms{get;放;}}publicclassRoom{[XmlAttribute("name")]publicstringName{get;放;}publicintCapacity{得到;放;}}[XmlRoot("info")]publicclassInfo{[XmlArray("locations")][XmlArrayItem("location")]publicListLocations{get;放;现在剩下的就是反序列化反序列化XML:varserializer=newXmlSerializer(typeof(Info));使用(varreader=XmlReader.Create("locations.xml")){Infoinfo=(Info)serializer.Deserialize(reader);列出位置=信息。地点;//对这些位置做任何您想做的事}只需使用XML序列化属性-例如:publicclassLocation{[XmlAttribute("name");公共字符串名称;公共清单建筑物;}公共类建筑{[XmlAttribute("name");公共字符串名称;公共列表室;}请记住-默认情况下,所有内容都将序列化为XML元素-与对象同名:)这样做会加载:?所有分享的内容,如果对你有用,需要了解更多C#学习教程,希望大家多多关注——using(varstream=File.OpenRead("somefile.xml")){varserializer=新的XmlSerializer(类型(列表));varlocations=(List)serializer.Deserialize(stream);}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
