当我尝试将Xml文件保存到特定文件夹时,在第一次保存时很好,因为其中没有现有的xml文件,但是如果我将它再次保存在同一文件夹中同名错误将显示......
这是我生成xml文件的示例代码....
XMLPath = Path.Combine(TargetRFIFolder, filename);
try
{
XmlWriter xmlWriter = XmlWriter.Create(XMLPath);
xmlWriter.WriteStartDocument();
xmlWriter.WriteStartElement("TeklaPartObject");
foreach (ListViewItem item in lv_Tekla_object.Items)
{
xmlWriter.WriteStartElement("part");
xmlWriter.WriteAttributeString("ID", item.Text);
xmlWriter.WriteString(item.SubItems[1].Text);
xmlWriter.WriteEndElement();
}
xmlWriter.WriteStartElement("label");
xmlWriter.WriteString(Path.GetFileName(lv_Directories.SelectedItems[0].ToolTipText));
xmlWriter.WriteEndElement();
xmlWriter.WriteEndDocument();
xmlWriter.Close();
xmlWriter.Flush();
File.SetAttributes(XMLPath, File.GetAttributes(XMLPath) | FileAttributes.Hidden);
感谢帮助人员,问候
答案 0 :(得分:0)
您可以在XmlWriter
中创建一个流并使用它。下一个程序说明了这一点。它创建了两次XML文件(test.xml)。第二次它覆盖现有文件。
using System.IO;
using System.Xml;
namespace StackoverflowXmlFilesConsole
{
class Program
{
static void Main(string[] args)
{
WriteXml("test.xml");
WriteXml("test.xml");
}
static void WriteXml(string path)
{
using (var stream = File.Open(path, FileMode.Create))
{
using (var writer = XmlWriter.Create(stream))
{
writer.WriteStartDocument();
// replace this code with your XML writing code.
writer.WriteStartElement("Test");
writer.WriteEndElement();
writer.WriteEndDocument();
}
}
}
}
}
答案 1 :(得分:0)
您无法访问隐藏文件 首先删除属性如下
File.SetAttributes(XMLPath, File.GetAttributes(XMLPath) & ~FileAttributes.Hidden);
然后您可以将其再次保存在同名的同一文件夹中 然后你可以再次设置隐藏属性。