Я пытаюсь десериализовать некоторый XML из веб-службы в C# POCO. . У меня это работает для большинства свойств, которые мне нужны, однако мне нужно установить логическое свойство в зависимости от того, присутствует ли элемент или нет, но я не понимаю, как это сделать?
Пример фрагмента XML:
<someThing test="true">
<someThingElse>1</someThingElse>
<target/>
</someThing>
Пример класса C#:
[Serializable, XmlRoot("someThing")]
public class Something
{
[XmlAttribute("test")]
public bool Test { get; set; }
[XmlElement("someThingElse")]
public int Else { get; set; }
/// <summary>
/// <c>true</c> if target element is present,
/// otherwise, <c>false</c>.
/// </summary>
[XmlElement("target")]
public bool Target { get; set; }
}
Это очень упрощенный пример реального XML и иерархии объектов, которые я обрабатываю, но он демонстрирует то, чего я пытаюсь достичь.
Все другие вопросы, которые я прочитал, связанные с десериализацией нулевых/пустых элементов, по-видимому, связаны с использованием Nullable
, что не делает того, что мне нужно.
Есть у кого идеи?