自定义app.config部分C#

时间:2012-11-08 10:05:51

标签: c# wpf configuration settings

我在使用app.config时有点迷失...我一直在使用.ini文件,但现在我想改变......这就是我的.ini看起来的样子

[Clients]
1 = Client1
2 = Client 2
[Client1]
Employees = 4
1 = Employee1
2 = Employee2
3 = Employee3
4 = Employee4
[Client2]
Employees = 3
1 = Employee1
2 = Employee2
3 = Employee3

然后我使用了一些for循环,首先我搜索[客户],在内部对于客户端,我搜索它有多少员工,然后,对于每个员工我做事......

如何将此.ini转换为类似

的内容
<Clients>
 <name = "client1">
  <Employees>
    <name = "employee1" />
    <name = "employee2" />
    <name = "employee3" />
    <name = "employee4" />
  </Employees>
 <name = "client2">
  <Employees>
    <name = "employee1" />
    <name = "employee2" />
    <name = "employee3" />
  </Employees>
</Clients>

然后使用该app.config

进行循环

感谢您的建议。

更新 我已经尝试过这个linq到xml代码

XDocument doc = new XDocument(
         new XDeclaration("1.0", "utf-8", "yes"),
         new XComment("Configuración Checkcenter"),
         new XElement("Entidad",
             new XAttribute("nombre",cmbEntidad.Text),
             new XElement("Servicios",
                 new XElement("nombre", cmbServicio.Text))));

    doc.Save("settings.xml");

它有效,请给我这个:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!--My Settings-->
<Client name="Client1">
  <Employees>
    <name>Employee1</name>
  </Employees>
</Entidad>

但是它总是在员工中取代我的名字......如果新项目不存在,如何处理呢?我的意思是,如果客户端不存在,请为员工添加新项目。

2 个答案:

答案 0 :(得分:4)

为什么要使用app.config? App.config作为名称建议应该用于存储配置设置。

最好的办法是使用Xml文档。这将使您的数据与配置设置分开。从XML文件读取后,可以使用Linq to XML查询这些数据。

答案 1 :(得分:1)

正如其他人所说,这样的数据应该是一个易于使用的存储(即DB,XML) 但是,如果您必须使用app.config文件。 您必须查看System.Configuration.Configurationsection。

MSDN Link

专注于ConfigurationSection,ConfigurationElement和ConfigurationElementCollection类。