C#学习教程:通过C#中的XmlSerializer类反序列化多个同名XML元素XML00010000048010200我需要反序列化它,更改它的内容并保存回来。我在读取ScheduledDay元素时遇到问题。我的课就像publicclassBackupScheduleSettings{publicBackupScheduleSettings(){ScheduledDay=newint[7];}.....publicint[]ScheduledDay{get;放;}.....}现在,当我用正确的ScheduledDay值加载XML内容时,我的类数组仍然为NULL。我无法修改XML的内容/格式,因为它是遗留代码。我不想使用XDocument来读取值,因为它是一个很大的XML,我需要再次序列化它。我在没有任何帮助的情况下进行了很多搜索。任何想法将不胜感激。谢谢...您不需要XmlArrayItem。您想要序列化没有父元素的整数数组,这意味着您应该使用XmlElement来装饰数组本身。由于您有特定的顺序,因此需要使用XmlElement属性的Order值。这是类,相应地修改:publicclassBackupScheduleSettings{publicBackupScheduleSettings(){ScheduledDay=newint[7];}[XmlElement(Order=1)]publicintAggressiveMode;[XmlElement(Order=2)]publicintScheduleType;//[XmlArrayItem("ArrayWrapper")][XmlElement(Order=3)]publicint[]ScheduledDay{get;放;}[XmlElement(Order=4)]publicintWindowStart;[XmlElement(Order=5)]publicintWindowEnd;[XmlElement(Order=6)]publicintScheduleInterval;这是生成的xml:000000000000装饰您的属性:[XmlElement("ScheduledDay")]publicint[]ScheduledDay{get;放;您需要做的就是:[XmlElement]publicint[]ScheduledDay{get;放;通过添加此属性,每次(反)序列化程序看到ScheduledDay元素时,它就会知道将其添加到此数组中。以上就是C#学习教程:使用C#中的XmlSerializer类反序列化多个同名XML元素共享的所有内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多加关注——本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
