Создать один узел, если выбран один узел - ноль - PullRequest
0 голосов
/ 08 февраля 2012

У меня есть программа, которая обновляет файл конфигурации. Например, файл конфигурации может содержать:

<configuration>
  <userSettings>
    <setting name="phoneNumber" serializeAs="String">
      <value>123-456-7890</value>
    </setting>
  </userSettings>
</configuration>

Чтобы обновить этот файл конфигурации, я использую следующее:

XmlNode phoneNumberNode = theConfig.SelectSingleNode("configuration/userSettings/setting[@name='phoneNumber']");
phoneNumberNode.FirstChild.InnerText = this._cloudPublisherWebURL;

Теперь во время обновления хочу обновить номер телефона и адрес. Адрес может быть или не быть в файле конфигурации.

Если SelectSingleNode равен нулю, я хотел бы создать узел с заданным путем и установить его значение.

XmlNode addressNode = theConfig.SelectSingleNode("configuration/userSettings/setting[@name='address']");
if(addressNode == null)
{
  //..Create the node here
}

Как я могу создать узел со значением по заданному пути?

1 Ответ

0 голосов
/ 10 августа 2012
XmlNode addressNode = theConfig.SelectSingleNode("configuration/userSettings");
XmlNode setting = addressNode.Item(0).SelectSingleNode("configuration/userSettings/setting[@name='phoneNumber']");

setting.SetAttribute("name", "address"); //this is to change the name attribute value into address
...