Manipuler XML avec PowerShell

Dans cet article vous verrez comment manipuler du XML avec PowerShell. Plus précisément, vous verrez comment les applets de commandes permettent de créer ou d’interroger simplement des structures de données XML.

Bien évidemment, Windows PowerShell sait créer des fichiers. Il sait aussi comment diviser des fichiers en sous-fichiers.

Cet article explique comment est traité un fichier avec du contenu XML par PowerShell. En fait, vous pouvez manipuler et créer n’importe quelle structure de données au format XML avec PowerShell.

XML avec PowerShell

Windows PowerShell supporte directement le langage et le format XML. Vous pouvez gérer et manipuler un fichier XML ou une structure de données en XML grâce à quelques commandes de Windows PowerShell.

Tout d’abord, vous devez ouvrir une invite de commandes PowerShell. Dans cette invite de commandes, vous allez créer une variable typée XML, intitulée $monXML:

# Crée un objet XML
$monXML =[xml] « <Acheteur nom=’Fruits & Qualité’><Quantité>9</Quantité><Fruit>Poires</Fruit></Acheteur> »

Vous remarquerez la présence du type de données XML qui est représenté à l’aide de [xml]. La suite de la structure est classique dans XML.

Cette structure définit un Acheteur intitulé Fruits et Qualité. Elle spécifie que cet acheteur achète 9 Poires. En effet, le chiffre 9 est la valeur de la balise Quantité et Poires est la valeur de la balise Fruit.

Les balises Quantité et Fruit sont rattachés à la balise Acheteur.

L’attribut nom est un attribut de la balise Acheteur.

Lire la valeur d’un noeud XML avec PowerShell

La lecture d’une valeur d’un noeud XML avec PowerShell se fait en indiquant le chemin complet jusqu’au noeud visé. Le chemin complet se construit en concaténant les noeuds intermédiaires et en utilisant le point (« . ») comme séparateur.

Par exemple, pour obtenir la quantité, il suffit d’indiquer le chemin complet jusqu’au noeud Quantité.

# Donne la valeur du noeud Quantité
write-host -foregroundcolor yellow $monXML.Acheteur.Quantité

Résultat : 9

La valeur est de 9 car c’est la valeur obtenue en parcourant le chemin : $monXML puis Acheteur puis Quantité. Ensuite, PowerShell lit la valeur de la balise Quantité.

Pour obtenir le fruit, il suffit aussi d’indiquer le chemin complet du noeud :

# Donne la valeur du noeud Fruit
write-host -foregroundcolor yellow $monXML.Acheteur.Fruit

Résultat : Poires

La valeur est Poires car c’est la valeur obtenue en parcourant le chemin : $monXML puis Fruit. Ensuite, PowerShell lit la valeur de la balise Fruit.

Par ailleurs, vous pourriez écrire encore plus simplement en PowerShell :

# Donne la valeur du noeud Quantité
$monXML.Acheteur.Quantité

et

# Donne la valeur du noeud Fruit
$monXML.Acheteur.Fruit

aa

XML avec PowerShell
XML avec PowerShell

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *