это мой первый вопрос о переполнении стека. Так что я извиняюсь за любые проступки с моей стороны!Требуется элемент длительности при десериализации на TimeSpan
Мне нужно десериализовать некоторый XML, требуется один из элементов и тип данных xs: duration. Как это сделать для дополнительных элементов можно найти в http://kennethxu.blogspot.nl/2008/09/xmlserializer-doesn-serialize-timespan.html, который я использовал для построения:
public class ValueWeightTime
{
private TimeSpan _value = new TimeSpan();
[XmlIgnore]
public TimeSpan Value { get { return _value; } set { _value = value; } }
[Required] //ToDo: fix default value PT0S
[XmlElement(ElementName = "Value", DataType = "duration")]
public string XmlValue
{
get { return XmlConvert.ToString(_value); }
set { _value = XmlConvert.ToTimeSpan(value); }
}
}
Атрибут Обязательный не работает. Кто-нибудь знает, как сделать элемент «Значение» обязательным?
Привет Тони, Thnx за ответ! К сожалению, это не сработало. Я по-прежнему получаю по умолчанию TimeSpans ({00:00:00}) вместо ошибки. – Yuri
Привет, Tony, thnx для вашего редактирования! К сожалению, это все еще не работает. Вызывается получатель XmlValue, и поскольку значение параметра TimeSpan _ initialue инициализируется, получатель XmlValue возвращает «PT0S». Поэтому хорошая новость заключается в том, что это определенно сработает, если _value будет нулевым/может быть инициализировано нулевым значением. Я пытался это сделать, но не смог заставить XmlConvert-методы работать :( У вас есть предложения? – Yuri