我想将以下内容添加到web.config的httpHandler部分:
<add name="Telerik_Web_UI_DialogHandler_aspx" verb="*" preCondition="integratedMode" path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" />
目前我正在创建一个节点并设置如下属性:
$xmlDoc = (Get-Content $webConfig) -as [Xml]
$root = $xmlDoc.get_DocumentElement();
$handler1 = $xmlDoc.CreateNode('element',"add",'')
$handler1.SetAttribute('name','Telerik_Web_UI_DialogHandler_aspx')
$handler1.SetAttribute('verb','*')
$handler1.SetAttribute('preCondition','integratedMode')
$handler1.SetAttribute('path','Telerik.Web.UI.DialogHandler.aspx')
$handler1.SetAttribute('type','Telerik.Web.UI.DialogHandler')
$root.'system.webServer'.handlers.AppendChild($handler1);
有没有一种简单的方法可以将字符串转换为节点并附加它?或者只是在孩子们的末尾添加字符串?
我喜欢上面链接答案中的here-array方法。它也非常适合变量替换,这很方便。
$xmlDoc = (Get-Content $webConfig) -as [Xml]
[xml]$InsertNode = @"
<add name="Telerik_Web_UI_DialogHandler_aspx" verb="*" preCondition="integratedMode" path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" />
"@
$xmlDoc.configuration.'system.webServer'.handlers.AppendChild($xmlDoc.ImportNode($InsertNode.Add, $true))
我在这里找到了答案:https://stackoverflow.com/a/29693625/2165019
特别是如果您需要更改很多配置,那么在我看来,这比使用API命令更快,更易读