C#update深层嵌套的XML元素值

时间:2015-01-26 16:08:31

标签: c# xml

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
      ...
    <connectionStrings>
      ...
    </connectionStrings>
    <applicationSettings>
        <Settings>
            ...
            <setting name="ServerConfig" serializeAs="String">
                <value>STAGE</value>
            </setting>
            ...
        </Settings>
    </applicationSettings>
</configuration>

我有上述XML结构,出于测试目的,我试图将一个将ServerConfig值元素更改为不同字符串(STAGE,PRODUCTION,INTERNAL)的应用程序组合在一起。我不确定如何导航并更新该值。

编辑:

XmlDocument xml = new XmlDocument();
            xml.Load("doc.xml");

            foreach (XmlElement element in xml.SelectNodes("setting"))
            {
                foreach (XmlElement child in element)
                {
                    if (element.SelectSingleNode("value").InnerText == "STAGE")
                    {
                        MessageBox.Show(child.InnerText);
                    }
                }
            }

这是我试图开始工作的代码,但似乎无法获得价值。我希望能够选择名称属性&#34; ServerConfig&#34;的设置。并更改value元素的值。

1 个答案:

答案 0 :(得分:0)

我建议使用Slow Cheetah Visual Studio扩展程序。它允许您使用xml转换修改每个单独构建定义的应用程序设置。

您可以找到有关Slow Cheetah here

的更多信息