我试图覆盖现有的xml文件(如果已经存在).
我正在使用下面的代码来检查文件是否存在,如果存在,则将其覆盖.现有文件是隐藏的,因此在尝试覆盖之前我将其取消隐藏.
该文件未发生更改,但是覆盖不起作用.
这是我在下面使用的代码减去编写新xml数据的部分.
if(File.Exists(filePath))
{
File.SetAttributes(filePath,FileAttributes.Normal);
FileIOPermission filePermission =
new FileIOPermission(FileIOPermissionAccess.AllAccess,filePath);
FileStream fs = new FileStream(filePath, FileMode.Create);
XmlWriter w = XmlWriter.Create(fs);
}
解决方法:
尝试像这样写入文件:
if(File.Exists(filePath))
{
File.SetAttributes(filePath,FileAttributes.Normal);
FileIOPermission filePermission =
new FileIOPermission(FileIOPermissionAccess.AllAccess,filePath);
using(FileStream fs = new FileStream(filePath, FileMode.Create))
{
using (XmlWriter w = XmlWriter.Create(fs))
{
w.WriteStartElement("book");
w.WriteElementString("price", "19.95");
w.WriteEndElement();
w.Flush();
}
}
}