xml 序列化问题,不知道是不是 .net 的Bug
whxbb 2002-12-06 11:59:22 以下程序运行正常
using System;
using System.IO;
using System.Text;
using System.Xml;
using System.Xml.Serialization;
using System.Xml.Schema;
namespace Test
{
public class TestXmlSerializer
{
public static void Main()
{
try
{
Person person = new Person();
XmlSerializer serializer = new XmlSerializer(person.GetType());
StringBuilder sb = new StringBuilder();
StringWriter writer = new StringWriter(sb);
Console.WriteLine("Serializer start.");
serializer.Serialize(writer, person);
Console.WriteLine("Serializer complete.");
Console.Write("Serializer result::");
Console.WriteLine(sb.ToString());
Console.WriteLine("Deserializ start.");
StringReader reader = new StringReader(sb.ToString());
serializer.Deserialize(reader);
Console.WriteLine("Deserializ ok.");
}
catch (Exception e)
{
Console.WriteLine("Error occurs:");
Console.WriteLine(e.Message);
}
}
}//name TestXmlSerializer
public class Person
{
public int Age;
public GenderGroup Gender;
public Person(){}
}
public enum GenderGroup
{
[XmlEnum("Boy")]
Male ,
[XmlEnum("Girl")]
Female
}
}//namespace Test
--------------------------------------------------------------------------
但是当我把枚举类改为:
public enum GenderGroup
{
[XmlEnum("Boy")]
Male = 0,
[XmlEnum("Girl")]
Female = 1
}
反序列化将失败,不知道这个问题该如何解决?