【发布时间】:2014-06-25 15:44:52
【问题描述】:
我在 C# 中使用 savefiledialog,我允许用户将 xml 节点保存到文件中,但是如果用户选择创建一个新文件并将节点保存在其中,它可以工作,但是当用户选择保存时到现有文件,然后将其覆盖。我需要的是它可以加载文件,我可以在其中附加节点,谢谢
Microsoft.Win32.SaveFileDialog sfd = new Microsoft.Win32.SaveFileDialog();
sfd.FileName = "untitled"; // Default file name
sfd.DefaultExt = ".xml"; // Default file extension
sfd.Filter = "Xml documents (.xml)|*.xml";
Nullable<bool> result = sfd.ShowDialog();
if (result == true)
{
if (System.IO.Path.GetExtension(sfd.FileName) != ".xml")
{
MessageBox.Show("You can only choose files with .xml extensions");
return;
}
this.save_xml_file(sfd.FileName);
}
XmlDocument doc = new XmlDocument();
XmlNode docNode = doc.CreateXmlDeclaration("1.0", "UTF-8", "no");
doc.AppendChild(docNode);
XmlNode fubiRec = Doc.CreateElement("FubiRecognizers");
XmlAttribute conf = Doc.CreateAttribute("globalMinConfidence");
conf.Value = "0.51";
fubiRec.Attributes.Append(conf);
doc.AppendChild(fubiRec);
XmlAttribute gestureAttribute = doc.CreateAttribute("name");
gestureAttribute.Value = gestureName;
gestureNode.Attributes.Append(gestureAttribute);
fubiRec.AppendChild(gestureNode);
【问题讨论】:
-
追加或覆盖操作取决于您写入文件的方式,而不是您如何选择它。提供您用于写入文件的代码,我们可以提供帮助。
-
如果你能帮助我,我已经发布了代码
-
您尚未发布用于写入文件的代码。您已经发布了对写入我们看不到的文件的函数 (
save_xml_file()) 的调用。再次,请发布您用于写入文件的代码。 -
哦 :D 我的坏事来了
-
}后面的部分是save_xml_file
标签: c# xml savefiledialog