我快疯了。我需要在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:UsersXXXXfile.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>
提前感谢您的帮助
删除此行:
$contentXML.DocumentElement.AppendChild($elementXML)
$elementXML
(<listeners>
节点(已经是需要:)的地方