如何将 Linq 列表转换为数据集?

发布于 2024-12-03 12:40:24 字数 297 浏览 0 评论 0原文

我有一个 Linq 列表,其中包含多个表的数据,并且这些表彼此相关。在此列表中,它具有另一个表列表属性。就像表1和表2相互关联一样,我们在表1的列表中有一个数据,在这个列表中它自动有表2的数据。

现在我想将此列表转换为 XML,但它会引发错误,即循环引用错误,所以现在我想将此列表转换为数据集,并通过使用此数据集我可以生成 xml。

那么任何人都可以为我们提供代码来从列表生成多个表数据集....

将列表转换为 xml 代码....

任何其他有用的注释............

I have a Linq List in which have data more than one tables and these tables has related to each other. in this list it has some another table list property. Like table1 and table2 has related to each other and we have a data in list of table1 and in this list it has automatically table2 data.

Now i want to convert this List into a XML but it throws an error i.e. circular reference error, So now i want to convert this list into a dataset and by using this dataset i can generate a xml.

So can anyone provide us code to generate multiple tables dataset from a List....

or

convert list to xml code....

or

any other helpful comments............

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不必你懂 2024-12-10 12:40:24

您确实没有提供太多可供使用的信息,但我会尝试给出一个基本答案。

给定这个类结构:

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)
                )
            )
        )
    );

这是您想要的那种东西吗?

You really haven't given a lot of information to work with, but I'll take a stab at a basic answer.

Given this class structure:

public class Table1
{
    public string Value;
    public Table2 Table2;
}

public class Table2
{
    public string Value;
}

I can create this list:

var lsttable1 = new List<Table1>()
{
    new Table1()
    {
        Value = "Foo1",
        Table2 = new Table2()
        {
            Value = "Bar1",
        },
    },
    new Table1()
    {
        Value = "Foo2",
        Table2 = new Table2()
        {
            Value = "Bar2",
        },
    },
};

Now, I might want to convert this into XML that looks like this:

<Table1s>
  <Table1 Value="Foo1">
    <Table2 Value="Bar1" />
  </Table1>
  <Table1 Value="Foo2">
    <Table2 Value="Bar2" />
  </Table1>
</Table1s> 

Here's the LINQ code that does it:

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)
                )
            )
        )
    );

Is that the kind of thing that you wanted?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文