我“尝试”以了解如何创建 Windows Phone 7应用程序,并且我想使用以下函数更新/保存xml文件:< / p>
XDocument xmlDoc = XDocument.Load("myApp.xml");
xmlDoc.Element("ocd").Add(new XElement("vDetails", new XElement("itemName", this.tb_Name.Text),
new XElement("Date", System.DateTime.Now.ToString()), new XElement("itemValue", "")));
xmlDoc.Save("data.xml");
但是xmlDoc.Save行给出了错误:“System.Xml.Linq.XDocument.Save(System.Xml.XmlWriter)”的最佳重载方法匹配包含一些无效参数。
我需要做些什么来纠正这个问题?
答案 0 :(得分:8)
您需要保存到隔离存储(或其他一些地方)。获取应用程序的独立存储,打开文件流,然后保存到流:
using (var storage = IsolatedStorageFile.GetUserStoreForApplication())
{
using (Stream stream = storage.CreateFile("data.xml"))
{
doc.Save(stream);
}
}
答案 1 :(得分:1)
Windows Phone开发人员博客深入探讨了应用程序执行模型。
我认为区分应用程序“关闭”和被逻辑删除的应用程序非常重要。
应用程序关闭就是这样 用户按下的结果 硬件返回按钮足够的时间 向后浏览页面 你的申请,过去的 应用程序的第一页。
a时发生应用程序已停用 不同的应用程序控制 前景 - 例如,一个 来电,发起一个 选择器,或用户按下 Windows按钮。在这两种情况下,你的 应用程序将被停用(不是 关闭)。在我们踏入之前 Deactivated事件的细微之处, 让我们确保大家都明白这一点 在停用时,您的申请 被终止(在结束时)。它的 那简单;你的代码无法运行 背景,因此你的 申请被终止。然而, 与关闭的应用程序不同, 停用的应用程序获取 墓碑。不要混淆,a 逻辑删除应用程序的过程仍然存在 被终止了。但不像封闭的 应用程序,WP运行的地方 系统删除任何痕迹 应用程序,当一个应用程序 停用WP操作系统 存储记录(墓碑) 应用程序的状态。 WP,基本上 操作系统保留了一个墓碑 成为其中一部分的应用程序 手机的应用程序回栈, 这是一个能够实现这一目标的期刊 使用硬件后退按钮来 增强导航功能。
至于测试,一个想法可能是重构代码并为各种事件点添加日志记录,如关闭或被逻辑删除等。