我想序列化一个 IXmlSerializable 对象的 HashSet,HashSet xml 是可序列化的吗?
在我的情况下,我有类 User 和一个名为 Users 的 HashSet。我可以避免创建用于序列化目的的用户类吗?
我想将哈希集作为参数传递给 xml 序列化程序。
如果 xml 是作为 http 响应获取的,是否可以反序列化它?我正在考虑使用 MemoryStream,还有其他可能性吗?
最佳答案
是的,它可以序列化为 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);
}
关于c# - HashSet<T> Xml 是可序列化的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8745592/