Десериализация перечисления выбирает первое / неправильное значение
Я работаю с файлом третьей стороны, поэтому я не проектировал структуру, и я застрял с ней. По какой-то причине все мои перечисления выбирают первое значение в списке вместо правильного
Во первых вот мой код десериализации
using (var stream = new FileStream(filetoimport, FileMode.Open)) { var ser = new XmlSerializer(typeof(MESSAGE)); var local_loan = (MESSAGE)ser.Deserialize(stream); returned = ToDtax(returned, local_loan); }
Далее идет перечисление
[GeneratedCode("xsd", "4.6.81.0")] [Serializable] [XmlType(Namespace = "http://www.mismo.org/residential/2009/schemas", AnonymousType = true)] public enum LoanIdentifierBase { NotSet, AgencyCase, InvestorCommitment, InvestorContract, InvestorLoan, InvestorWorkoutCase, LenderCase, LenderLoan,
Затем есть класс, который имеет перечисление как часть класса
[GeneratedCode("xsd", "4.0.30319.33440")] [Serializable] [DebuggerStepThrough] [DesignerCategory("code")] [XmlType(Namespace = "http://www.mismo.org/residential/2009/schemas")] public class LoanIdentifierEnum : BaseClass { [XmlAttribute("SensitiveIndicator")] public bool SensitiveIndicator { set; get; } [XmlIgnore] public bool SensitiveIndicatorSpecified { set; get; } [XmlAttribute(Form = XmlSchemaForm.Qualified, Namespace = "http://www.w3.org/1999/xlink", DataType = "NCName")] public string label { set; get; } [XmlAnyAttribute] public XmlAttribute[] AnyAttr { set; get; } public LoanIdentifierBase Values { set; get; }
Наконец есть раздел файла импорта который имеет правильные значения но десериализуется с неправильными значениями
<LOAN_IDENTIFIERS> <LOAN_IDENTIFIER SequenceNumber="1"> <LoanIdentifier SensitiveIndicator="false">UAT0019</LoanIdentifier> <LoanIdentifierType SensitiveIndicator="false">LenderCase</LoanIdentifierType> </LOAN_IDENTIFIER>
У меня очень ограниченный опыт работы в XML, поэтому любая помощь будет очень полезна
Что я уже пробовал:
Я поставил xmlelement и отображает теги на перечисление. попробовал несколько предложений из онлайн-поиска. Независимо от того что я пытаюсь он всегда возвращается с первой записью из перечисления вместо фактического значения