У меня есть кусок XML, который выглядит какИгнорирование нулевого значения в XML сериализациях
<SubscriptionProduct>
<SubscriptionProductIdentifier>
<SubscriptionProductIdentifierType>
<SubscriptionProductIDType>01</SubscriptionProductIDType>
<ID>123456</ID>
<Value>AAAA</Value>
</SubscriptionProductIdentifierType>
<SubscriptionProductIdentifierType xsi:nil="true" />
</SubscriptionProductIdentifier>
<SubscriptionProductDescription />
</SubscriptionProduct>
Как вы можете видеть SubscriptionProductIdentifierType является сбором и в этом случае содержит только один элемент.
Как игнорировать второй пустой элемент?
Я попытался добавить игнорирование xml, однако он удаляет всю коллекцию, и я хочу, чтобы второй элемент в коллекции удалялся, если нет данных.
[System.Xml.Serialization.XmlIgnoreAttribute()]
public SubscriptionProductIdentifierType[] SubscriptionProductIdentifier {
get {
return this.subscriptionProductIdentifierField;
}
set {
this.subscriptionProductIdentifierField = value;
}
}
Любая помощь будет очень признательна.
С наилучшими пожеланиями Zal
Хороший отзыв от @ArsenMkrt. Какова длина массива? –
Я только назначил два элемента массиву – Zal
Если вы сериализуете (перейдете от .NET к XML), вы можете попробовать добавить IsNullable = false в XmlRootAttribute в SubscriptionProductIdentifier. См. Http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlrootattribute.isnullable.aspx – Huusom