В этом примере используется StringWriter
для хранения сериализованных данных, а вызов ToString()
дает фактическое значение string
:
Person john = new Person();
XmlSerializer xmlSerializer = new XmlSerializer(typeof(Person));
StringWriter stringWriter = new StringWriter();
xmlSerializer.Serialize(stringWriter, john);
string serializedXML = stringWriter.ToString();
Есть ли более простой/более чистый способ сделать это? Все перегрузки Serialize()
, по-видимому, используют Stream
или Writer.
ОБНОВЛЕНИЕ: задан аналогичный вопрос о сериализации IEnumerable через метод расширения.