[RESOLU !!] Ajouter noeud fichier xml powershell

Ajouter noeud fichier xml powershell [RESOLU !!] - Shell/Batch - Programmation

Marsh Posté le 15-12-2020 à 15:19:47    

Bonjour,
 
Je pars de ce fichier xml
<?xml version="1.0" encoding="ISO-8859-1"?>
  <evenement>
    <venue>
      <identifiant />
      <entree>
        <heure>20</heure>
      </entree>
    </venue>
  </evenement>

 
Je voudrais ajouter un noeud "emetteur" sous "identifiant", pour que cela donne ceci :
 
<?xml version="1.0" encoding="ISO-8859-1"?>
  <evenement>
    <venue>
      <identifiant>
         <emetteur>XX</emetteur>
      </identifiant>
      <entree>
        <heure>20</heure>
      </entree>
    </venue>
  </evenement>

 
 
Avec le code PS
[xml]$xml = Get-Content "c:\test.xml"
$child = $xml.CreateElement("emetteur" )
$child.InnerText="XX"
$xml.evenement.venue.identifiant.AppendChild($child) | Out-Null

 
j'obtiens le message d'erreur
Échec lors de l’appel de la méthode, car [System.String] ne contient pas de méthode nommée « AppendChild »
 
Comment faire svp ?
 
Merci


Message édité par rogntudjuuu le 18-01-2021 à 16:45:21
Reply

Marsh Posté le 15-12-2020 à 15:19:47   

Reply

Marsh Posté le 11-01-2021 à 17:58:44    

Code :
  1. [xml]$xml = Get-Content "test.xml"
  2. $child = $xml.CreateElement("emetteur" )
  3. $child.InnerText="XX"
  4. $null = $xml.SelectSingleNode("evenement/venue/identifiant" ).AppendChild($child)


 
ou
 
 

Code :
  1. [xml]$xml = Get-Content "test.xml"
  2. $child = $xml.CreateElement("emetteur" )
  3. $child.InnerText="XX"
  4. $null = $xml.evenement.venue.SelectSingleNode("identifiant" ).AppendChild($child)


 

Reply

Marsh Posté le 18-01-2021 à 16:44:46    

ericlm128 a écrit :

Code :
  1. [xml]$xml = Get-Content "test.xml"
  2. $child = $xml.CreateElement("emetteur" )
  3. $child.InnerText="XX"
  4. $null = $xml.SelectSingleNode("evenement/venue/identifiant" ).AppendChild($child)


 
ou
 
 

Code :
  1. [xml]$xml = Get-Content "test.xml"
  2. $child = $xml.CreateElement("emetteur" )
  3. $child.InnerText="XX"
  4. $null = $xml.evenement.venue.SelectSingleNode("identifiant" ).AppendChild($child)


 


 YES YES YES !!!  
 
Mille fois merci
Ca marche super
Ca m'aide beaucoup
J'ai passé des heures à chercher sur le net. J'ai trouvé pas mal d'articles qui ressemblaient à mon pb, avec des soluces que je ne comprenais pas
Et là  bim ! copier/coller et  :bounce:  
 
 :jap:


Message édité par rogntudjuuu le 18-01-2021 à 16:46:12
Reply

Marsh Posté le 24-01-2021 à 07:48:55    

Je doit t'avouer que j'ai aussi été surpris pas le comportement de PowerShell face à ce type de nœud qu'il considère comme une chaine de caractère sur lequel AppendChild n'est pas disponible.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed