Я хочу сериализовать объект, где некоторые из переменных-членов имеют тип string
и имеют значение null
. Я использую следующий код:XmlTextWriter и нулевые строки
var writer = new XmlTextWriter(stream, Encoding.UTF8);
writer.Formatting = Formatting.Indented;
var s = new XmlSerializer(typeof(model.GetType()));
s.Serialize(writer, model);
Строки со значением null
не появляются в файле XML (который, очевидно, предназначенный поведение), хотя я не хочу этого. Как я могу сделать строки null
в файле Xml, переопределяя класс XmlTextWriter
?
EDIT: Я не могу изменить объектную модель, которая должна быть сериализована, поэтому атрибуты Xml не являются параметрами.
спасибо за ваш ответ. Я не могу изменить объектную модель, поэтому я не могу использовать это решение. Я редактировал свой вопрос, чтобы включить это ограничение. – thumbmunkeys
@ x0r: цикличность по вашей коллекции объектов и замена нулевых элементов на String.Empty не является решением, верно? – Marco
это было бы решением! хотя это не совокупность объектов, а больше дерева объектов. поэтому вам нужно будет использовать отражение, чтобы пройти дерево, пройти через все переменные-члены и установить эти строки «null». – thumbmunkeys