app.config控制器和编写器

时间:2015-11-11 08:03:23

标签: c# app-config tex

我需要app.config控件和编写方面的帮助。我有乳胶项目。我需要编写配置来更改PDF的章节。例如,我有3章,但我现在不需要2章。所以我想\include main tex \include chap1\include chap3 <?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。

userB.removeAll(userA)

我可以使用哪种方法控制和使用此配置。它有可能吗?

感谢。

1 个答案:

答案 0 :(得分:0)

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")));

如果您确切知道自己想做什么,可以使用更具针对性的解决方案。

但是,对于您的场景,您可能希望将此添加元素加载到集合中,根据需要处理它们(添加/删除/更新等...)然后再将它们重新写回&#34;添加&#34 ; .config文件中的元素。