簡體   English   中英

將類序列化為XML時出錯

[英]Error while serializing a class to XML

我正在將Linq對象序列化為使用XmlSerializer,但是我正在

“發生錯誤,反映了類型'System.Collections.Generic.List`1”

我用Serilizable屬性擴展了Linq對象,在這里我做錯了什么嗎?

[Serializable]
public partial class Customer
{
}

[Serializable]
public partial class Comment
{
}


[Serializable]
public class CustomerArchive
{
    public Customer MyCustomer{ get; set; }
    public Comment MyComment { get; set; }
}



 internal static void Serialize(IEnumerable<CustomerArchive> archive, string fileName)
 {
      var serializer = new XmlSerializer(typeof(List<CustomerArchive>)); // Error

      using (var stream = File.Create(fileName))
      {
           using (var sw = new StreamWriter(stream))
           using (var writer = new XmlTextWriter(sw)
           {
                Indentation = 5,
                Formatting = Formatting.Indented
           })
           serializer.Serialize(writer, new List<CustomerArchive>(archive));
       }
 }

我認為您在MyCustomer類中具有一些不能由XML Serializer屬性。 例如,像通用的Dictionary<>

[XmlIgnore]屬性放在這些屬性上,然后重試。 如果在此之后您的代碼能夠正常工作,您只需要制作一些代理屬性即可將其序列化為XML,然后再返回就不會出現任何問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM