我正在开发一个项目,我需要将xml写入文件,这发生在for循环中,
那是
for(int i = 0; i < screens.length; screens++)
{
XMLDocument allScreens = new XMLDocument();
allScreens.Load(allScreeensPath);
XMLNode node = allScreens.Select("//Screen[@name='" + screens[i].name + "']");
allScreens.Remove(node);
allScreens.Add(nweNode);
allScreens.Save(allScreeensPath);
}
Run Code Online (Sandbox Code Playgroud)
基本上,xml文档被访问,修改并保存在for循环中,这项工作有时候.有时我得到以下错误,
我尝试使用文本阅读器,文本编写器来执行文件操作(这样我可以关闭,处理编写器)但错误仍然存在.我怎么能通过这个?
这可能(不确定)因为你为循环的每次迭代重新打开XML文件,这似乎是不必要的.而是在循环之前打开文档,执行循环,然后保存它.
XMLDocument allScreens = new XMLDocument();
allScreens.Load(allScreeensPath);
for(int i = 0; i < screens.length; screens++)
{
XMLNode node = allScreens.Select("//Screen[@name='" + screens[i].name + "']");
allScreens.Remove(node);
allScreens.Add(nweNode);
}
allScreens.Save(allScreeensPath);
Run Code Online (Sandbox Code Playgroud)
(我不确定nweNode代码示例中的图片会出现在哪里,但我保留它,因为我只重写了原始代码示例)