我有一个简单枚举:如何使用C#中的Enum类型化属性的XMLSerialize?
enum simple
{
one,
two,
three
};
我也有一个具有simple
类型的属性的类。我尝试用属性:[XmlAttribute(DataType = "int")]
来装饰它。但是,当我尝试使用XmlWriter
对其进行序列化时,它会失败。
这样做的正确方法是什么?我是否必须标记枚举本身以及属性,如果是,那么使用哪种数据类型?
我有一个简单枚举:如何使用C#中的Enum类型化属性的XMLSerialize?
enum simple
{
one,
two,
three
};
我也有一个具有simple
类型的属性的类。我尝试用属性:[XmlAttribute(DataType = "int")]
来装饰它。但是,当我尝试使用XmlWriter
对其进行序列化时,它会失败。
这样做的正确方法是什么?我是否必须标记枚举本身以及属性,如果是,那么使用哪种数据类型?
不应该有任何问题,序列化枚举属性:
public enum Simple { one, two, three }
public class Foo
{
public Simple Simple { get; set; }
}
class Program
{
static void Main(string[] args)
{
using (var writer = XmlWriter.Create(Console.OpenStandardOutput()))
{
var foo = new Foo
{
Simple = Simple.three
};
var serializer = new XmlSerializer(foo.GetType());
serializer.Serialize(writer, foo);
}
}
}
生产:
<?xml version="1.0" encoding="utf-8"?>
<Foo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Simple>three</Simple>
</Foo>
它以哪种方式失败? – 2010-02-21 21:39:00