gpt4 book ai didi

c# - 使用 Linq-to-XML 和 Linq-to-SQL 生成非常大的 XML 文件

转载 作者:行者123 更新时间:2023-11-30 18:10:13 26 4
gpt4 key购买 nike

我正在尝试将一个非常大的数据库(数 GB)转储到 XML。我正在使用 Linq-to-SQL 从数据库中获取数据,并使用 Linq-to-XML 生成 XML。我正在使用 XStreamingElement 来保持低内存使用率。然而,在没有编写任何 XML 的情况下,该作业仍会分配所有可用内存。结构如下所示:

var foo =
new XStreamingElement("contracts",
<LinqtoSQL which fetches data>.Select(d =>
new XElement("contract",
... generate attributes etc...
using (StreamWriter sw = new StreamWriter("contracts.xml"))
{
using (XmlWriter xw = XmlWriter.Create(sw))
{
foo.WriteTo(xw);
}
}

我也试过用以下方式保存:

foo.Save("contracts.xml", SaveOptions.DisableFormatting);

...无济于事。

有什么线索吗?

最佳答案

数据有多复杂?我对 XStreamingElement 不是很熟悉,但我想知道您是否会更喜欢直接使用 XmlWriter?特别是对于循环中的like数据,使用起来非常方便。

但是,我担心将 xml 作为此数据的选择。这是要求吗?或者只是一种方便的可用格式?特别是,可能很难方便地解析那么大的 xml,因为您必须使用 XmlReader(这比 XmlWriter)。

如果您可以使用其他格式,我会建议您...有一些想法,但除非您提到您有兴趣,否则我不会喋喋不休。

关于c# - 使用 Linq-to-XML 和 Linq-to-SQL 生成非常大的 XML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1697261/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com