c#:WPF获取App.config中的数据以及XML文档的写入
一、APP.config是什么
App.config文件是应用程序配置文件,它是标准的XML文件,XML标记和属性是区分大小写的。它是可以按照需求更改的,开发人员可以使用配置文件来更改设置,而不必重新编译引用程序。
我们先打开一个App.config文件,看看它的内容是什么样子的
<?xml version="1.0" encoding="utf-8" ?>
<configuration> <!--configuration表示:配置-->
<startup> <!--startup表示:启动-->
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
<appSettings> <!--appSetting表示附加设置,设置自己的东西-->
<add key="id" value="random"/> <!--这个用来表示账户-->
<!--key—value表示键值对-->
<add key="wpd" value="1234567890"/> <!--这个用来表示密码-->
</appSettings>
</configuration>
从这段代码可以看出,App.config文件完全是XML文档,它有如下特点:
二、App.config文件的特点:
1、它有一个标签,所有的配置都在标签,根节点下写
2、<app.Settings>可以配置任何 key—value 这样的键值对
3、我们可以大致的把App.config应用程序配置文件看作为一个小型的数据库
三、WPF获取应用程序配置文件中的数据
第一步:
先创建一个WPF项目,并在窗体中设置用户登录这样的界面
图片如下:
xaml源码如下:
<Canvas>
<TextBox Name="textbox1" Height="46" Canvas.Left="310" TextWrapping="Wrap" FontSize="30" Canvas.Top="68" Width="299" RenderTransformOrigin="0.63,0.394" />
<TextBox Name="textbox2" Height="46" Canvas.Left="310" TextWrapping="Wrap" FontSize="30" Text="" Canvas.Top="160" Width="299"/>
<Label Content="Label"/>
<Label Content="Label"/>
<Label Content="账户 :" Canvas.Left="159" Canvas.Top="68" Height="46" Width="103" FontSize="30"/>
<Label Content="密码 :" Canvas.Left="159" Canvas.Top="160" Height="46" Width="103" FontSize="30"/>
<Button Content="登 录" Canvas.Left="249" Canvas.Top="241" Width="306" Height="55" FontSize="30" Click="Button_Click"/>
</Canvas>
第二步:
在解决方案资源管理器中打开应用程序配置文件App.config文件进行编辑
(1)//在根节点下添加子节点表示附加设置
(2)通过标签添加键值对 key—value 并设置值,作为登录的账户和密码
<appSettings>
<!--appSetting表示附加设置,设置自己的东西-->
<add key="id" value="random"/>
<!--第一个键值对表示账户,第二个表示密码-->
<add key="wpd" value="1234567890"/>
</appSettings>
第三步:
在WPF后台来获取应用程序配置文件(App.config文件)的键值对中的值
(1)先导入命名空间
using System.Configuration;
(2)定义字符串来存储应用程序配置文件的键值对中的数据
string defaultid;
string defaultwpd;
public MainWindow()
{
InitializeComponent();
//ConfigurationManager 是配置管理程序
//ConfigurationManager 是提供对客户端应用程序配置文件的访问
//AppSetting 表示获取当前应用程序默认配置的AppSettingsSection数据
//也就是说访问应用程序配置文件下,并获取Appsetting数据中的键值对的数据或者说值
defaultid = ConfigurationManager.AppSettings["id"];
defaultwpd = ConfigurationManager.AppSettings["wpd"];
}
第四步:
当按下登录按钮判断客户输入的用户名和密码是否匹配
(1)添加登录按钮的事件
(2)将用户输入的值存储到一个字符串中
(3)判断存储用户输入的字符串是否与存储应用程序配置文件中的字符串是否相等
private void Button_Click(object sender, RoutedEventArgs e)
{
//存储用户输入的值到局部变量中
string id = textbox1.Text;
string wpd = textbox2.Text;
if (id.Equals(defaultid) && wpd.Equals(defaultwpd))//判断用户输入的字符串是否和应用程序配置文件中的键值是否相等
{
MessageBox.Show("成功");//如果相等则弹出提示
}
}
四、通过WPF写入
(1)导入命名空间:
using System.Xml;
(2)XAML界面添加按钮,当触发按钮事件后创建一个XML文档
<Button Content="注册" FontSize="30" Canvas.Left="159" Canvas.Top="236" Width="159" Height="55" Click="Button_Click_1"/>
(3)按钮事件创建XML文档
private void Button_Click_1(object sender, RoutedEventArgs e)//按钮事件
{
XmlDocument document = new XmlDocument();//创建一个XML文档
XmlDeclaration declaration = document.CreateXmlDeclaration("1.0", "UTF-8", null); //设置文档的头,版本号,以及编码
XmlElement root = document.CreateElement("根节点"); //创建一个根节点
document.AppendChild(root); //将根节点添加到文件中
document.InsertBefore(declaration,root);//将XML的头添加到根节点之前
XmlElement element = document.CreateElement("字节点");//创建一个子节点
element.SetAttribute("Key", "id");//设置子节点的属性和值
root.AppendChild(element);//将子节点添加到根节点中的子节点列表的末尾
document.Save("../../First.xml");//保存xml文件,并设置名字
}
运行结果如下:
以上均为自己在学习XML文档时对一些知识点的总结,希望对大家能有一定的帮助。如果本篇文章有什么不完善的地方,或者对大家造成了一些误导,还请大家能够指出并纠正我的错误,谢谢!