Trucs & Astuces Windows

 

Créer fichier xml avec Powershell

La méthode classique de création d'un fichier xml est assez rébarbative dans la mesure où la moindre erreur (crochet oublié, ...) provoque une dislocation du document.
Powershell possède la classe XMLTextWriter qui permet facilement de créer un fichier xml en ligne de commande.

Cette classe possède les méthodes suivantes :
WriteStartDocument
WriteComment
WriteStartElement
WriteAttributeString
WriteElementString
WriteEndElement
WriteEndDocument
Flush
Close
et quelques variables dont Formatting, Indentation, IndentChar

On se propose de créer le fichier xml suivant :

structure xml

Observez bien la structure du document précédent : commentaire, racine Proprio, attribut Imm.

Cherchez Powershell à partir du menu Démarrer. Lancez le.

Vous allez entrer les lignes de commande indiquées dans l'image.

Remarque : Dans IndentChar, la tabulation est accent grave t.
L'accent grave est obtenu par AltGr 7

Powershell xml

Explications

On crée un objext xmlw qui va permettre d'écrire le fichier autos.xml sur la partition C.
Par souci de présentation, on va indenter en utilisant la tabulation en affectant des valeurs aux variables Formatting, Indentation, IndentChar
On démarre le document
On écrit un commentaire.
On crée la variable racine Autos à laquelle on définit des attributs.
On crée la variable fille Auto à laquelle on définit des attributs.
On ferme avec la méthode WriteEndElement().
On crée une autre variable fille Auto avec ses attributs, sans oublier de fermer.
Recommencer autant de fois que nécessaire.
On ferme le document par WriteEndElement()
On crée le fichier par Flush et on le ferme par Close.

On vérifie la structure avec Get-Content en créant la variable xxx.
Le contenu de la variable racine est obtenu par xxx.Autos
Les éléments Auto sont listés par xxx.Autos.Auto

A vous de découvrir les autres possibilités de la classe XMLTextWriter en lisant la documentation relative à Powershell.

 

Retour Menu page 9

 


Si vous aimez le site
Member of the Anti Hacker Alliance

Select a language if you need :


Page chargée en 0.002 sec.

Dernière Modification : Dim 28 Avril 2019 12:45
Copyright © 1999-2019 Jean-Paul Molina Tous droits réservés.

to Google