J'écris un script PowerShell pour modifier le fichier XML. Je dois ajouter un nouvel élément et ajouter des attributs. J'ai essayé d'utiliser les méthodes CreateElement()
et AppendChild()
mais cela n'aide pas. Ci-dessous le fichier XML d'entrée mon exempleAjouter un élément XML au milieu du document XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Subnet xmlns="http://google.com">
<Id>Network_106</Id>
<Name>Network_106</Name>
<Description>
</Description>
<NetworkAddress>173.24.106.0</NetworkAddress>
<NetworkMask>255.255.255.0</NetworkMask>
</Subnet>
Je dois ajouter le nouveau elemetnt appelé DeliveryServices
après une description comme ci-dessous et ajoutez élément Id
à l'intérieur.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Subnet xmlns="http://google.com">
<Id>Network_106</Id>
<Name>Network_106</Name>
<Description>
</Description>
<DeleveryServices>
<Id>172.22.22.22</Id>
</DeleveryServices>
<NetworkAddress>173.24.106.0</NetworkAddress>
<NetworkMask>255.255.255.0</NetworkMask>
</Subnet>
J'ai essayé le code ci-dessous, mais cela ne fonctionne pas.
[xml]$xdoc = Get-Content "F:\Sample.xml"
$child = $xdoc.CreateElement("DeleveryServices")
$xdoc.Subnet.AppendChild($child)
$xdoc.Subnet.DeleveryServices.Id = "172.22.22.22"
Je reçois cette erreur ci-dessous. Et aussi l'élément DeleveryServices
est créé à la fin du fichier XML. Je le veux après la description.
The property 'Id' cannot be found on this object. Verify that the property exists and can be set. At line:44 char:17 + $xdoc.Subnet.DeleveryServices.Id = "172.22.22.22"
_ "Cela ne fonctionne pas" _ est insuffisant. Expliquez ce qui se passe, affichez la sortie réelle et incluez les messages d'erreur. –
@JimGarrison a ajouté des détails d'erreur. –
Je ne vois aucun noeud '' dans le fichier XML. Vous ne pouvez pas définir un attribut sur un noeud inexistant. –