J'essaie d'ajouter un sectionGroup
à l'élément configuration/configSections
dans un web.config à l'aide de Powershell.
J'ai actuellement
$filePath = [path to my web.config file]
# load the XML from the web.config
$xml = New-Object XML
$xml = [xml](Get-Content $filePath)
# navigate to the <configSections> element
$xmlConfigSections = $xml.SelectSingleNode("//configuration/configSections")
# create the new <sectionGroup> element with a 'name' attribute
$sectionGroup = $xml.CreateElement("sectionGroup")
$xmlAttr = $xml.CreateAttribute("name")
$xmlAttr.Value = "myCustomSectionGroup"
$sectionGroup.Attributes.Append($xmlAttr)
# now add the new <sectionGroup> element to the <configSections> element
$xmlConfigSections.AppendChild($sectionGroup)
#save the web.config
$xml.Save($filePath)
Mais cela entraîne une exception au niveau de la CreateElement
méthode :
"Le nœud spécifié ne peut pas être inséré en tant qu'enfant valide de ce nœud, car le nœud spécifié n'est pas le bon. car le nœud spécifié n'est pas du bon type."
Je ne comprends pas pourquoi une telle exception est levée lorsque j'essaie de créer l'élément (l'exception semble concerner l'ajout d'un élément).
J'ai également essayé
$newConfig = [xml]@'<sectionGroup name="myCustomSectionGroup"></sectionGroup>'@
$filePath = [path to my web.config file]
# load the XML from the web.config
$xml = New-Object XML
$xml = [xml](Get-Content $filePath)
# navigate to the <configSections> element
$xmlConfigSections = $xml.SelectSingleNode("//configuration/configSections")
$xmlConfigSections.AppendChild($newConfig)
Mais cela provoque exactement la même exception que précédemment.
<sectionGroup>
est définitivement un enfant valide de <configSections>
.
Idéalement, je préférerais que la deuxième tentative fonctionne parce qu'elle ne m'oblige pas à déclarer chaque élément, chaque attribut, etc. .
Quelqu'un peut-il m'expliquer pourquoi le <configSections>
Le nœud ne permet pas à mon <sectionGroup>
élément ?