Вы можете использовать XmlIgnoreAttribute
вместе с шаблоном <FieldName>Specified
, чтобы вызвать исключение, если свойство оставлено пустым или пустым. Во время сериализации будет проверяться свойство NameSpecified
, чтобы определить, следует ли отображать поле, поэтому, если для свойства Name оставлено значение NULL или пусто, выдается исключение.
class Person
{
[XmlElement("name")]
string Name { get; set; }
[XmlIgnore]
bool NameSpecified
{
get {
if( String.IsNullOrEmpty(Name)) throw new AgrumentException(...);
return true;
}
}
}