c# - 在 .NET 中解析 XML 文件

标签 c# .net xml parsing

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

我正在考虑使用 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>

注意:由于某些原因,一些代码没有出现,但基本上有标有“ProgramSettings”和“UserSettings”的主要部分。 编辑:感谢为我解决这个问题的人。

无论如何,我想做的是获取“用户 key ”,这将是用户的登录名或其他名称。那么,如果能够做这样的事情就好了:

String userLogin = "user1";

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

// returns 5
String fontSize = myXMLFile["UserSettings"][userLogin]["layout"]["fontsize"];   

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

如果您可以像这样编辑值,那就太好了:

myXMLFile["UserSettings"][userLogin]["layout"]["fontsize"] = "green";

最佳答案

我建议您使用集成配置模型,这会减轻您的负担。您可以在设置下的项目设置中找到它。

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

msdn (该链接适用于 visual studio 2005,它也适用于任何其他版本)。

关于c# - 在 .NET 中解析 XML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4326399/

相关文章:

.net - 如何使用 VisualStudio docker 调试器(launchSettings.json 配置文件)从 Docker 容器公开自定义端口 (TCP)?

android - 如何创建响应式 GridView 以覆盖整个屏幕?

java - SAXParser '&' 串联问题

c# - 似乎缺少 Windows 窗体应用程序选项?

c# - MemoryPool<T> 和 ArrayPool<T> 的区别

c# - 使用 Topshelf 执行多个 Quartz.NET 作业

C# - 从 TCP 连接读取时一些数据包被丢弃

java - 如何在android中的xml中附加标签?以及如何保存该 xml 文件?

c# - Appharbor 部署 "Contains no tests"

c# - linq选择总和和平均值进入 View 模型