Я ищу правильную десериализацию некоторого XML.
Часть XML выглядит следующим образом:
<Keys>
<Key>
<Name>Test 1</Name>
<KeyValues>
<KeyValue Offered="true" Order="1">One</KeyValue>
<KeyValue Offered="true" Order="2">Two</KeyValue>
<KeyValue Offered="true" Order="3">Three</KeyValue>
<KeyValue Offered="true" Order="4">Four</KeyValue>
</KeyValues>
</Key>
<Key>
<Name>Test 2</Name>
<KeyValues>
<KeyValue Offered="true">One</KeyValue>
</KeyValues>
</Key>
</Keys>
, и я хотел бы десериализовать каждое KeyValue из этого в объект C #, которыйвыглядит следующим образом:
public class KeyValue
{
public string Value { get; set; }
[XmlAttribute]
public int Order { get; set; }
[XmlAttribute]
public bool Offered { get; set; }
}
Это (примерно) код, который я использую для десериализации:
XmlSerializer serializer = new XmlSerializer(typeof(MyObject));
using (TextReader reader = new StringReader(xml))
{
myObject = (MyObject)serializer.Deserialize(reader);
}
Это почти правильно работает.Не выдается никаких исключений, и Order и Offered заданы правильно, но я бы хотел, чтобы One, Two, Three и т. Д. Из KeyValues в моем XML-коде входили в поле Value в моей модели.
Возможно ли это?Если да, то как я могу это сделать?