如果现有 XML 文件已存在,则覆盖该文件

use*_*315 5 c# xml file-permissions filestream

我正在尝试覆盖现有的 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);
 }
Run Code Online (Sandbox Code Playgroud)

Tom*_*nes 4

尝试像这样写入文件:

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();
         }
     }     
 }
Run Code Online (Sandbox Code Playgroud)