📄 xmlserializer.txt
字号:
只要把你附加的类型告诉XmlSerializer就可以了
using System;
using System.Collections;
using System.IO;
using System.Text;
using System.Xml.Serialization;
[Serializable]
public class A : System.Attribute
{
public A()
{
}
public A(string aname)
{
Name = aname;
Phone = aname + " Phone";
Address = aname + " Address";
Description = aname + " Description";
}
public static ArrayList CreateObjects()
{
ArrayList objects = new ArrayList();
for(int i=0; i<10; i++)
{
A a = new A(i.ToString());
objects.Add(a);
}
return objects;
}
public string Name ;
public string Phone ;
public string Address ;
public string Description;
}
public class T
{
#region 对象的序列化和反序列化(Xml格式) XmlSerialize/XmlDeserialize
public static string XmlSerialize(object obj, params Type [] extra)
{
XmlSerializer serializer = new XmlSerializer(obj.GetType(), extra);
using(MemoryStream stream = new MemoryStream())
{
serializer.Serialize(stream, obj);
stream.Close();
return Encoding.UTF8.GetString(stream.ToArray());
}
}
public static object XmlDeserialize(string xml, Type type)
{
XmlSerializer serializer = new XmlSerializer(type);
using(MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(xml)))
{
return serializer.Deserialize(stream);
}
}
#endregion
public static void Main(string [] args)
{
string xml = XmlSerialize(A.CreateObjects(), typeof(A));
Console.WriteLine(xml);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -