0

構成ファイルを更新するプログラムがあります。たとえば、構成ファイルには次のものが含まれる場合があります。

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

さて、更新中に phoneNumber と address を更新したいと思います。アドレスは構成ファイルにある場合とない場合があります。

SelectSingleNode が null の場合、指定されたパスでノードを作成し、その値を設定したいと思います。

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

指定されたパスに値を持つノードを作成するにはどうすればよいですか?

4

1 に答える 1

0
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
于 2012-08-10T08:31:55.527 に答える