c# – 忽略XML序列化中的空值
发布时间:2020-12-15 21:30:00 所属栏目:百科 来源:网络整理
导读:我有一块看起来像的xml SubscriptionProduct SubscriptionProductIdentifier SubscriptionProductIdentifierType SubscriptionProductIDType01/SubscriptionProductIDType ID123456/ID ValueAAAA/Value /SubscriptionProductIdentifierType SubscriptionProd
我有一块看起来像的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; } } 任何帮助将非常感谢. 亲切的问候 解决方法
您的集合中没有一个项目,但有两个项目,其中一项为空
只是在添加期间,甚至在返回之前过滤空项,具体取决于您的业务逻辑 public SubscriptionProductIdentifierType[] SubscriptionProductIdentifier { get { return this.subscriptionProductIdentifierField.Where(s=>s!=null).ToArray(); } ... } 希望这可以帮助 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |