c#在保存(doc.Save(PATH);)时会崩溃

本文关键字:崩溃 Save 保存 doc PATH | 更新日期: 2023-09-27 18:13:02

这个程序在调试时崩溃,并在代码末尾突出显示"doc.Save(PATH);"。我试图将变量cookieScore, additionAdditionadditionMultiplier保存到XML文件中。

我从这里得到关于它的信息"http://visualcsharptutorials.com/net-framework/writing-xml-file"

private XmlDocument doc;
string PATH = @"C:'sample.xml";
private void saveBtn_Click(object sender, EventArgs e)
{
    doc = new XmlDocument();
    if (!System.IO.File.Exists(PATH))
    {
        XmlDeclaration declaration = doc.CreateXmlDeclaration("1.0", "UTF-8", "yes");
        XmlComment comment = doc.CreateComment("This is saved game data");
        XmlElement root = doc.CreateElement("data");
        XmlElement data = doc.CreateElement("data");
        XmlAttribute addition = doc.CreateAttribute("addition");
        XmlElement additionNumber = doc.CreateElement("additionNumber");
        XmlElement multiplicationNumber = doc.CreateElement("multiplicationNumber");
        XmlElement cookieSave = doc.CreateElement("cookieSave");
        addition.Value = "addition";
        additionNumber.InnerText = additionAddition.ToString();
        multiplicationNumber.InnerText = additionMultiplier.ToString();
        cookieSave.InnerText = cookieScore.ToString();
        doc.AppendChild(declaration);
        doc.AppendChild(comment);
        doc.AppendChild(root);
        root.AppendChild(data);
        data.Attributes.Append(addition);
        data.AppendChild(cookieSave);
        data.AppendChild(additionNumber);
        data.AppendChild(multiplicationNumber);
        doc.Save(PATH);
    }
    else
    {
    }

c#在保存(doc.Save(PATH);)时会崩溃

我的猜测是您正在获得访问相关异常,因为您试图写入C驱动器的根目录。试着写到你的桌面:

string PATH = @"C:'Users'[yourusername]'Desktop'sample.xml";

另一个选项是尝试以管理员身份运行EXE。