Является ли HashSet <T>Xml Serializable? - PullRequest
2 голосов
/ 05 января 2012

Я хотел бы сериализовать HashSet из объектов IXmlSerializable, является ли HashSet xml сериализуемым?

В моей ситуации у меня есть класс User и HashSet с именем Users. Можно ли избежать создания класса Users для сериализации?

Я бы хотел передать хэш-набор в качестве параметра сериализатору xml.

Можно ли десериализовать xml, если он получен как ответ http? Я думал об использовании MemoryStream, есть ли другие возможности?

1 Ответ

8 голосов
/ 05 января 2012

Да, он сериализуем в XML.Просто попробуйте:

var set = new HashSet<string>();
set.Add("hello");
set.Add("world");

var xs = new XmlSerializer(typeof(HashSet<string>));
string xml;
using (var writer = new StringWriter())
{
    xs.Serialize(writer, set);
    xml = writer.ToString();
    Console.WriteLine(xml);
}

using (var reader = new StringReader(xml))
{
    var set2 = (HashSet<string>)xs.Deserialize(reader);
    foreach(string s in set2) Console.WriteLine(s);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...