我想将新的XML文件写入磁盘,但以下代码会出错。
static void Main(string[] args)
{
using (XmlWriter writer = XmlWriter.Create(@"C:\abc.xml"))
{
writer.WriteStartDocument();
writer.WriteStartElement("Employees");
writer.WriteEndElement();
writer.WriteEndDocument();
}
Console.ReadKey();
}
有人可以帮我吗?
注意:abc.xml尚不存在。
答案 0 :(得分:3)
显然,您无权访问C:
。选择您有权访问的路径或以更高权限运行应用程序。
作为旁注,对于大多数情况,不建议再使用System.Xml
,而是使用LINQ to XML(System.Xml.Linq
):
new XElement("Employees").Save("abc.xml"); // and a path that you have access to.
答案 1 :(得分:2)
根据系统的不同,您需要管理员权限才能创建文件@C:\
以管理员身份运行VS instante或将代码更改为
using (XmlWriter writer = XmlWriter.Create("abc.xml"))
{
writer.WriteStartDocument();
writer.WriteStartElement("Employees");
writer.WriteEndElement();
writer.WriteEndDocument();
}
答案 2 :(得分:1)
如果没有管理员模式,您无法从VS将文件写入C:\
。您需要在管理员模式下运行您的应用程序/ VS以在C:\
中写入文件。或者您可以在C:\
中创建一个文件夹并在该文件夹中写入文件。
<强> CODE 强>
using (XmlWriter writer = XmlWriter.Create(@"C:\folder\abc.xml"))
{
writer.WriteStartDocument();
writer.WriteStartElement("Employees");
writer.WriteEndElement();
writer.WriteEndDocument();
}
在上面的代码中,您不需要在管理模式下运行application / VS。
注意: C:\文件夹必须存在,否则会抛出错误。
如果C:\folder
不存在,请在写入文件之前添加以下代码。
if (System.IO.Directory.Exists(@"C:\folder") == false)
{
System.IO.Directory.CreateDirectory(@"C:\folder");
}
答案 3 :(得分:1)