2011-09-05 73 views
0

我在LINQtoSQL中有一个列表,它在表格中有各种关系,现在我想将此列表转换为XML。在Asp.net MVC体系结构中将LINQ列表转换为XML

我使用此代码

new XmlSerializer(typeof(T), IncludedTypes).Serialize(xmlWriter, this.Data); 

其中this.Data有列表数据。

但它抛出一个错误

时出错生成XML文档。

,因为我们的表已经相互关联,并在我们的榜单,也维护所有表的关系

现在如何列表转换成XML?

+1

检查内部异常。 –

+0

内在异常是什么意思? –

+0

'Exception'对象有一个名为'InnerException'的属性检查它的值。 –

回答

0

circular reference was detected while serializing an object of type abc.Core.Model.Channel 这意味着Channel对象有一个属性是指另一对象和对象具有属性是指Channel对象。

例如

Class Parent 
{ 
    public Child Child 
    { 
     get; 
     set; 
    } 
} 
Class Child 
{ 
    public Parent Parent 
    { 
     get; 
     set; 
    } 
} 

当序列Parent.Child它会序列Child.Parent所以它会序列Parent.Child再等

解决这个问题检查这个post

0

拉夫,

基础的在你的问题的评论重新内在例外:

A circular reference was detected while serializing an object of 
type abc.Core.Model.Channel 

我建议你装点任何父对象与[ScriptIgnore][XmlIgnore]属性。这将防止在保存xml时循环引用被执行。这个问题是由于父对象再次引用子对象的事实。这个引用继续到无穷大(并且超越:)),如果没有你指出你不希望序列化父对象,它将永远不会解析。