在.NET中解析XML文件

Eri*_*ric 2 .net c# xml parsing writing

我正在尝试确定加载某些配置设置的最佳方法.基本上,我有一个应用程序,几个人将登录,一旦他们登录,我想加载他们的所有设置(例如:颜色,字体大小,个人记录等)

我正在考虑使用XML文件来执行此操作,因为我认为在.NET中解析起来相当容易,但我认为这似乎更难.

<ProgramSettings>   
  <database file="C:\database.mdb" />    
</ProgramSettings>

<UserSettings>
  <user key="user1">
    <layout color="red" fontsize="5" />
    <data file="C:\test1.txt" />
  </user>

  <user key="user2">
    <layout color="blue" fontsize="2" />
    <data file="C:\test2.txt" />
  </user>

</UserSettings>
Run Code Online (Sandbox Code Playgroud)

注意:由于某些原因,某些代码没有出现,但基本上有标记为"ProgramSettings"和"UserSettings"的主要部分.编辑:谢谢谁修复了我.

无论如何,我想要做的是获取"用户密钥",这将是用户的登录名或其他内容.然后,能够做这样的事情会很高兴:

String userLogin = "user1";

// returns red
String color = myXMLFile["UserSettings"][userLogin]["layout"]["color"];         

// returns 5
String fontSize = myXMLFile["UserSettings"][userLogin]["layout"]["fontsize"];   
Run Code Online (Sandbox Code Playgroud)

有可能这样吗?我所做的所有研究似乎表明你需要遍历每个值.我想加载整个文件,并直接访问任何元素.

如果您可以编辑以下值,那也很酷:

myXMLFile["UserSettings"][userLogin]["layout"]["fontsize"] = "green";
Run Code Online (Sandbox Code Playgroud)

Fem*_*ref 5

我建议您使用集成配置模型,这将完成您的所有工作.您可以在设置下的项目设置中找到它.

它具有用户级别(可更改)和应用程序级别(代码中不可更改),您可以通过访问它来使用数据projectnamespace.Properties.Settings.

msdn(该链接适用于Visual Studio 2005,它也适用于任何其他版本).