sách gpt4 ăn đã đi

c# - 如何在 C#.NET 中替换现有 XML 文件的内容?

In lại 作者:数据小太阳 更新时间:2023-10-29 02:48:24 25 4
mua khóa gpt4 giày nike

当尝试用如下代码片段替换 C#.NET 中的 XML 文件的内容时:

string file = Path.GetTempFileName(); // pretend this is a real file
string tmpFile = Path.GetTempFileName();

using (var writer = XmlWriter.Create(File.Create(tmpFile)))
{
writer.WriteStartElement("root");
đối với (int i = 0; i < 100; i++)
{
writer.WriteElementString("test", null,
"All work and no play makes Jack a dull boy");
}
writer.WriteEndElement();
}

File.Delete(file);
File.Move(tmpFile, file);

...我收到一个 System.IO.IOException,声称该文件已被另一个进程打开。

câu trả lời hay nhất

出于某种原因,XmlWriter 类显然没有处理临时文件的基础流。将流放在它自己的“using”子句中可确保正确关闭流。将代码更改为

string file = Path.GetTempFileName(); // pretend this is a real file
string tmpFile = Path.GetTempFileName();

using (var stream = File.Create(tmpFile))
using (var writer = XmlWriter.Create(stream))
{
writer.WriteStartElement("root");
đối với (int i = 0; i < 100; i++)
{
writer.WriteElementString("test", null,
"All work and no play makes Jack a dull boy");
}
writer.WriteEndElement();
}
File.Delete(file);
File.Move(tmpFile,file);

... 使 IOException 消失并按预期工作。

关于c# - 如何在 C#.NET 中替换现有 XML 文件的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/446380/

25 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress