【发布时间】:2015-07-24 12:41:50
【问题描述】:
我目前正在实现一个带有登录系统的 wpf 应用程序。连接服务器并调用数据库比基于文件的数据库慢,我们认为xml文件对我们来说很好。
我的问题其实和这个题目中的问题是一样的:
当我将它添加到项目中时,它会在应用程序根目录 (WpfApplication1\WpfApplication1\myfile.xml) 中查找它。但是当我运行该应用程序时,负责添加节点的功能工作正常,但它将文件保存到 WpfApplication1\WpfApplication1\bin\Debug\ 目录!因此“真实”的 myfile.xml 没有更新
WPF C# XML file added as resource
我尝试了评论“如果您希望从光盘加载 xml(并进行修改),请使用 Build Action = None 和 Copy = Copy Always。” ,但它对我不起作用。
我使用 System.Xml.Linq 库,并尝试使用这段代码更新我的 XML 文件:
XDocument xmlDoc = XDocument.Load("users.xml");
xmlDoc.Root.Add(
new XElement("user",
new XElement("username", this.textBox1.Text),
new XElement("password", this.textBox2.Text),
new XElement("ITAdmin", comboBox1.SelectedText == "Yes" ? 1 : 0)));
xmlDoc.Save("users.xml");
我的第二个问题是我已将 xml 文件作为资源添加到我的项目中,因为我不希望应用程序用户可以访问它,但我无法再次更新 xml 文件。
【问题讨论】:
-
完全不相关:XML 文件可能不是存储未加密密码的最佳位置。
-
您对存储此类信息有何建议?
-
这已经回答here。
-
我已经在用 sha256 对密码信息进行哈希处理,但提前谢谢你!
-
你确定吗?您的代码似乎另有建议:
new XElement("password", this.textBox2.Text),- 您无需过多关注散列密码现在。您还有其他事情要担心,但这是您应该注意的事情。