app.config控制器和写入程序

本文关键字:程序 config 控制器 app | 更新日期: 2023-09-27 18:21:32

我需要app.config控制和编写方面的帮助。我有乳胶项目。我需要写配置来更改PDF的章节。例如,我有3章,但我现在不需要2章。所以我只想在我的main tex'include 'include chap1'include chap3。我有app.config.

 <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
     <appSettings>
        <add key="'include" value="chap1" />
        <add key="'include" value="chap2" />
        <add key="'include" value="chap3" />
     </appSettings>
    </configuration>

用什么方法我可以控制和使用这个配置。有可能吗?

谢谢。

app.config控制器和写入程序

app.config只是一个XML文件。。。因此,对于一个简单配置文件的快速简单的解决方案,只需将其视为:

using System.Xml.Linq;
// Create a list just in case you want to remove specific elements later
List<XElement> toRemove = new List<XElement>();
// Load the config file
XDocument doc = XDocument.Load("app.config");
// Get the appSettings element as a parent
XContainer appSettings = doc.Element("configuration").Element("appSettings");
// step through the "add" elements
foreach (XElement xe in appSettings.Elements("add"))
{
    // Get the values
    string addKey = xe.Attribute("key").Value;
    string addValue = xe.Attribute("value").Value;
    // if you want to remove it...
    if (addValue == "something")
    {
        // you can't remove it directly in the foreach loop since it breaks the enumerable
        // add it to a list and do it later
        toRemove.Add(xe);
    }
}
// Remove the elements you've selected
foreach (XElement xe in toRemove)
{
    xe.Remove();
}
// Add any new Elements that you want
appSettings.Add(new XElement("add", 
    new XAttribute("key", "''inculde"),
    new XAttribute("value", "chapX")));

如果你确切地知道自己想做什么,你可能会使用更有针对性的解决方案。

但是,对于您的场景,您可能希望将此add元素加载到集合中,根据需要对它们进行处理(add/remove/update等),然后将它们作为"add"元素再次写回.config文件中。