1

如果节点存在,我尝试构建一个从我的 web.config 文件中删除节点的 powershell 脚本。我有以下xml结构

<configuration>
  <configSections>
    <sectionGroup name="common">
      <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging, Version=2.1.2.0, Culture=neutral, PublicKeyToken=af08829b84f0328e" />
    </sectionGroup>

  </configSections>
</configuration>

以及以下代码:

[xml]$xml = Get-Content $WebAppConfigPath

 $addSectionGroupNode = $xml.SelectSingleNode("//configuration/configSections/sectionGroup/add[@name='common']")
  if ($addSectionGroupNode -ne $null)
  {
    $SectionGroupNode.RemoveChild($addSectionGroupNode)
    Write-Host "REMOVED"
  }

  $xml.Save($WebAppConfigPath)

但是,找不到该节点,也没有删除该节点。你能帮我得到正确的命令吗?

谢谢

4

1 回答 1

0
//configuration/configSections/sectionGroup/add[@name='common']

在其他条件中,正在寻找一个<add>直接在 a 内的元素<sectionGroup>,并且没有这样的元素。

你的意思是使用

/configuration/configSections/sectionGroup[@name='common']

?

请注意,在表达式开头<configuration>使用 XML 文档的根元素//只会减慢速度。

于 2013-10-17T16:39:00.257 回答