我检查了我试图写入的 xml 文件不是只读的。
我相信我的问题可能是我需要替换 XML 文件内容而不是仅仅保存它们(因为我添加了一个新的元素/节点)。我只用了几天就开始使用 xml 并将文件直接加载到 XElement:
//My load of the file:
XElement _xContextProjectData = XElement.Load(@"Model\ProjectData.xml");
//feed it to my viewmodel
//adding a new node that I intend to save to the file:
private void AddNote()
{
var newNote = new XElement("Note", new XAttribute("NoteIndex", noteIndex), new XAttribute("Note", ""));
_xContextProjectData.Element("Notes").Add(newNote);
noteIndex++;
_xContextProjectData.Save(@"Model\ProjectData.xml");
_notes.Add(newNote);
RaisePropertyChanged("Notes");
}
请帮我找到我所缺少的。提前致谢 :)
::编辑::
我正在努力:
var newNote = new XElement("Note", new Attribute("NoteIndex", noteIndex), new XAttribute("Note", ""));
XDocument projDataDoc = XDocument.Load(@"Model\ProjectData.xml");
projDataDoc.Element("Notes").Add(newNote);
projDataDoc.Save(@"Model\ProjectData.xml");
并收到以下错误消息:
"Check to determine if the object is null before calling the method. Use the "new" keyword to create an object instance."
但是,我正在使用的所有属性都不是 null,这令人困惑。