PowerShell不保存XML

时间:2018-06-29 13:16:21

标签: xml powershell

我有一个简单的以下脚本,因此我在web.config中添加了一个标题

$webConfigPath = Resolve-Path "MyFolder\Web.Config"
$webConfig =  [xml](get-content($webConfigPath))
$targetNode =  $webConfig.configuration.'system.webServer'.httpProtocol.customHeaders
$newNode=$webConfig.CreateDocumentFragment()
$newNode.InnerXml= "<remove name='$headerName)'/>"
$targetNode.AppendChild($newNode)
$webConfig.Save($webConfigPath)

但这不会保存更改...如果我打印,路径是正确的

$webConfig.configuration.'system.webServer'.httpProtocol.customHeaders

我在那里得到了实际的节点。我在哪里想念东西?

谢谢!

1 个答案:

答案 0 :(得分:0)

您的命令似乎正在尝试保存到起点。看到这里:

$webConfigPath = Resolve-Path "MyFolder\Web.Config"

$webConfig.Save($webConfigPath)

换句话说,您的脚本试图将收集到的数据保存到$ webConfigPath变量中的命令中,这就是为什么当您指定其他文件路径时,它可以正确保存的原因。完成此操作的一个简单方法就是更改生成的文件路径。如果您需要将该路径用于脚本中的其他命令,则可以将文件路径放入其自己的变量中:

 $savePath = "C:/test.xml"

...允许您使用变量,而不必再次输入路径。

希望这有助于回答您的问题!