xml 序列化问题,不知道是不是 .net 的Bug
以下程序运行正常
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
}
反序列化将失败,不知道这个问题该如何解决?
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
}
反序列化将失败,不知道这个问题该如何解决?
...全文
相关推荐
空间规划响应人工智能的机遇与挑战初探.pdf
空间规划响应人工智能的机遇与挑战初探.pdf
AI在企业内部的机遇与挑战.pdf
巴斯夫中国网络安全团队 人工智能 - 网络安全风险 AI 在网络安全中的风险和应对 下一代网络防御在 BASF 的使用场景 巴斯夫针对人工智能方案的风险评估方法
人工智能时代管理会计发展面临的机遇与挑战分析.pdf
人工智能时代管理会计发展面临的机遇与挑战分析.pdf
浅析人工智能与分析仪器行业融合的机遇与挑战.pdf
浅析人工智能与分析仪器行业融合的机遇与挑战.pdf
人工智能时代公共部门决策:机遇、挑战与展望.pdf
人工智能时代公共部门决策:机遇、挑战与展望.pdf


