StringBuilder还是XMLDocument?

Muj*_*san 3 c# xml stringbuilder

我编写了一个控制台应用程序来从Web服务器获取一些信息,将其转换为XML并保存.我手动创建了XML(使用附加字符串StringBuilder).因为XML可能非常大,就内存而言,使用StringBuilderXMLDocument类等更好吗?确切地说,我的问题是,如果XML就像10mb文本那么使用内存有效StringBuilder.append("")还是System.XML命名空间?

我认为更有效的方法是使用StringBuilder,但在每次迭代后将XML保存到HD上的文件并清除stringbuilder对象.任何意见?提前致谢.:)

Mar*_*ell 10

无论; 我用的是XmlWriter:

using(var file = File.Create(path))
using(var writer = XmlWriter.Create(file))
{
  // write to writer here
}
Run Code Online (Sandbox Code Playgroud)

这样可以避免在内存中缓冲大量数据,这些数据既可以StringBuilderXmlDocument可以执行,并且可以避免在手动创建xml时遇到的所有编码问题(说实话,不是一个好主意).


Chr*_*n.K 5

我不会使用a手动创建XML StringBuilder,错误的空间太大(如果它是正确的字符串转义).

要编写更大的XML文件,您应该使用XmlWriter类.