我有一个Linq List,其中包含多个表的数据,这些表彼此相关。在此列表中,它具有另一个表列表属性。就像table1和table2彼此相关,我们在table1列表中有一个数据,在这个列表中它有自动table2数据。
现在我想将此List转换为XML但它会引发错误,即循环引用错误,所以现在我想将此列表转换为数据集,并且通过使用此数据集,我可以生成xml。
所以任何人都可以提供代码来从List中生成多个表数据集....
或
将列表转换为xml代码....
或
任何其他有用的评论............
答案 0 :(得分:0)
你真的没有提供大量的信息,但我会采取一个基本的答案。
鉴于此类结构:
public class Table1
{
public string Value;
public Table2 Table2;
}
public class Table2
{
public string Value;
}
我可以创建此列表:
var lsttable1 = new List<Table1>()
{
new Table1()
{
Value = "Foo1",
Table2 = new Table2()
{
Value = "Bar1",
},
},
new Table1()
{
Value = "Foo2",
Table2 = new Table2()
{
Value = "Bar2",
},
},
};
现在,我可能希望将其转换为如下所示的XML:
<Table1s>
<Table1 Value="Foo1">
<Table2 Value="Bar1" />
</Table1>
<Table1 Value="Foo2">
<Table2 Value="Bar2" />
</Table1>
</Table1s>
这是执行它的LINQ代码:
var xd =
new XDocument(
new XElement(
"Table1s",
from t1 in lsttable1
select new XElement(
"Table1",
new XAttribute("Value", t1.Value),
new XElement(
"Table2",
new XAttribute("Value", t1.Table2.Value)
)
)
)
);
这是你想要的那种吗?