Я пытаюсь десериализовать XML-документ в класс C#. вот документ.Deserialize XML Document
<?xml version="1.0" encoding="utf-8"?>
<Exclusionpolicys>
<Exclusionpolicy>
<ValuationRoutes>
<ValuationRoute>value1</ValuationRoute>
<ValuationRoute>Value2</ValuationRoute>
</ValuationRoutes>
<ExcludeHives>
<ExcludeHive name="samplename1"/>
<ExcludeHive name="samplename2"/>
<ExcludeHive name="samplename3"/>
<ExcludeHive name="samplename4"/>
</ExcludeHives>
</Exclusionpolicy>
<Exclusionpolicy>
<ValuationRoutes>
<ValuationRoute>Value3</ValuationRoute>
</ValuationRoutes>
<ExcludeHives>
<ExcludeHive name="samplename5"/>
</ExcludeHives>
</Exclusionpolicy>
</Exclusionpolicys>
Это класс, который я создал.
[XmlRootAttribute("Exclusionpolicys")]
public class ExclusionPolicys
{
[XmlElement("ExcludeHive ")]
public ExcludedPolicyHives[] ExcludedHives { get; set; }
[XmlElement("ValuationRoute")]
public ExcludedPolicyValuationRoute[] ValuationRoutes { get; set; }
}
public class ExcludedPolicyHives : IExcludedHives
{
public List<string> Hives { get; set; }
}
public class ExcludedPolicyValuationRoute
{
public List<string> ValuationRoutes { get; set; }
}
Когда я Deserialize ... это не бросает какую-то ошибку, но дайте мне объект ExclusionPolicys с нулевым значением для обоих свойств.
Может кто-нибудь помочь в определении того, что не так с моим определением класса.
Я хочу десериализовать его в список/массив пары keyValue или аналогичный этому.
Заранее спасибо.
Благодарим за помощь. Рабочая копия здесь ...
[XmlRoot("Exclusionpolicys")]
public class ExclusionPolicys
{
[XmlElement("Exclusionpolicy")]
public List<Exclusionpolicy> Exclusionpolicy { get; set; }
}
public class Exclusionpolicy
{
[XmlElement("ValuationRoutes")]
public List<ExcludedPolicyValuationRoutes> ValuationRoutes { get; set; }
[XmlElement("ExcludeHives")]
public List<ExcludedHiveses> ExcludedHives { get; set; }
}
[XmlRoot("ExcludeHives")]
public class ExcludedHiveses
{
[XmlElement(ElementName = "ExcludeHive")]
public List<string> Hives { get; set; }
}
public class ExcludedPolicyValuationRoutes
{
[XmlElement("ValuationRoute")]
public List<string> ValuationRoute { get; set; }
}
Не могли бы вы объяснить, что вы изменили и почему вы его изменили? – Default
Сделано несколько изменений, и это сработало ... – Abhash786
@ Default-Что вы видите здесь в вопросе, вторая часть, которая указывает рабочий код, была моим первоначальным ответом на него, который был, предположительно, на 80% правильным. – SanyTiger