我想序列化一個類到XML,爲它分配一個XML屬性。摘錄:屬性沒有被XmlSerializer序列化
[XmlType(TypeName = "classmy")]
public class MyClass2 : List<object>
{
[XmlAttribute(AttributeName = "myattr")]
public string Name { get; set; }
}
public class MyConst
{
public MyConst()
{
MyClass2 myClass2 = new MyClass2 { 10, "abc" };
myClass2.Name = "nomm";
XmlSerializer serializer = new XmlSerializer(typeof(MyClass2));
serializer.Serialize(Console.Out, myClass2);
}
}
但生成的XML看起來像這樣
<?xml version="1.0" encoding="IBM437"?>
<classmy xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<anyType xsi:type="xsd:int">10</anyType>
<anyType xsi:type="xsd:string">abc</anyType>
</classmy>
一切都很好,唯一的例外是myClass2.Name是不會被序列化。我期待的行
<classmy myattr="nomm" [...]>[...]</classmy>
...爲什麼不是那個序列化,它怎麼會是?
你是否用上面的類的[Serializable]屬性進行了裝飾? – Rajesh 2012-08-08 09:24:55
@Rajesh它不會有序列化*如果不是... – James 2012-08-08 09:25:59
@James我有同樣的問題,他有,當我用serializable裝飾它解決了問題。特別是當你試圖編寫XML時。 – Rajesh 2012-08-08 09:27:59