【问题标题】:Add sub elements to a config file (XML) with powershell使用 powershell 将子元素添加到配置文件 (XML)
【发布时间】:2020-05-27 21:23:22
【问题描述】:

我快疯了。我需要在 powershell 中修改这个 XML 文件

<system.diagnostics>
  <trace autoflush="attr1" indentsize="attr2">
    <listeners>
      <add name="attr1" type="attr2" initializeData="attr3" />
      <remove name="Default" />
    </listeners>
  </trace>
  <switches>
    <add name="attr1" value="attr2" /> 
  </switches>
</system.diagnostics>

我需要在“删除”元素之后添加一个新元素:我尝试使用以下代码

$fileXML = 'C:\Users\XXXX\file.config'
$contentXML = New-Object XML
$contentXML.Load($fileXML)
$elementXML = $contentXML.SelectSingleNode("//listeners")
$childElementsXML = $contentXML.CreateElement("set")
$elementXML.AppendChild($childElementsXML)
$contentXML.DocumentElement.AppendChild($elementXML)
$contentXML.Save($fileXML)

但它将元素“侦听器”移动到“跟踪”的同一级别。我究竟做错了什么?

<system.diagnostics>
  <trace autoflush="attr1" indentsize="attr2">
  </trace>
  <switches>
    <add name="attr1" value="attr2" />
  </switches>
  <listeners>
    <add name="attr1" type="attr2" initializeData="attr3" />
    <remove name="Default" />
    <set />
  </listeners>
</system.diagnostics>

提前感谢你们的帮助

【问题讨论】:

    标签: xml powershell config


    【解决方案1】:

    删除这一行:

    $contentXML.DocumentElement.AppendChild($elementXML)
    

    $elementXML&lt;listeners&gt; 节点)已经在它需要的位置:)

    【讨论】:

      猜你喜欢
      • 2017-10-22
      • 2018-12-07
      • 1970-01-01
      • 2014-09-12
      • 1970-01-01
      • 2020-08-02
      • 1970-01-01
      • 2013-07-19
      • 1970-01-01
      相关资源
      最近更新 更多