Я хотел бы сериализовать некоторые конкретные элементы массива на основе некоторого условия.C# XML сериализует определенные элементы из массива
Для примера:
public class Team
{
public string Name {get; set;}
public Person[] Staff;}
public class Person
{
public string Name {get; set;}
public NrOfHolidays {get; set;}
}
И когда сериализации Team
класса Я хотел бы сериализовать только те члены из Staff
массива, которые имеют NrOfHolidays
больше, чем 10, скажем.
Есть ли способ, которым это можно сделать?
Я знаю, как функция ShouldSerialize[MemberName]
может использоваться для сериализации/не сериализации данного члена, но я не знаю, можно ли его применять к элементам массива, который является членом.
Редактировать: Спасибо за ответы.
Я только что нашел это post. Это то же самое, с чем я столкнулся, но предлагаемое здесь решение для JSON. Я ищу решение, подобное предложению в вышеприведенной статье, которое работает для сериализации XML.
Просто фильтруйте массив до его сериализации с помощью запроса LINQ – Gusman