C# 如何在传递参数以加载和保存时提高XMLDocument性能

C# 如何在传递参数以加载和保存时提高XMLDocument性能,c#,xml,C#,Xml,我正在努力提高我的web和桌面应用程序的性能。我的web和win表单应用程序都用于读取和写入xml文件。但我仍然不清楚我用什么来提高应用程序的性能 XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(fileStream); xmlDoc.Save(fileStream); 所以,我传递给加载和保存函数的参数类型是什么,即它可能是filestream对象,也可能只是文件名。因此,应用程序的性能得到了提高。您确定吗,您的性能瓶颈在于Xml加载,

我正在努力提高我的web和桌面应用程序的性能。我的web和win表单应用程序都用于读取和写入xml文件。但我仍然不清楚我用什么来提高应用程序的性能

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(fileStream);
xmlDoc.Save(fileStream);

所以,我传递给加载和保存函数的参数类型是什么,即它可能是filestream对象,也可能只是文件名。因此,应用程序的性能得到了提高。

您确定吗,您的性能瓶颈在于Xml加载,如果是这样,请尝试将其放在不同的线程中

如果文档太大,并且您试图只加载部分项目,请尝试以下操作

我不建议使用XmlDocument xmlDoc=new XmlDocument;因为有一种更好更干净的方法可以使用

XDocument xmlDoc=新XDocument;提供更轻松的实施和未来的总体更改

然后你可以用

doc.Load("PurchaseOrder.xml");
或者,如果您是从web下载,我建议您将Async与weblcient结合使用

WebClient wclient = new WebClient();
wclient.DownloadStringAsync(new Uri("url of your xml"));
wclient.DownloadStringCompleted += FilesIsCompleted;
private void FilesIsCompleted(object sender, DownloadStringCompletedEventArgs e)
 {

    XDocument xdoc = XDocument.Parse(e.Result, LoadOptions.None);

 }

刚刚意识到,jon skeet为不同的线程引用了同一篇文章,因此应该是一篇非常可靠的文章: