Sélectionner des attributs dans XML à l'aide de XPath
-
Utilisez l’applet de commande
Select-Xml
pour sélectionner des attributs en XML dans PowerShell -
Utilisez la méthode
SelectNodes
pour sélectionner des attributs en XML dans PowerShell -
Utilisez l’applet de commande
Get-Content
pour sélectionner des attributs en XML dans PowerShell
XML signifie Extensible Markup Language. Un fichier XML est un fichier texte brut comportant des balises personnalisées pour définir la structure du document.
Il est principalement utilisé pour stocker et partager des informations structurées. Le contenu du fichier XML ressemble au fichier HTML.
Ce didacticiel présentera différentes méthodes de sélection d’attributs en XML à l’aide de XPath dans PowerShell.
Utilisez l’applet de commande Select-Xml
pour sélectionner des attributs en XML dans PowerShell
L’applet de commande Select-Xml
vous permet de rechercher du texte dans une chaîne ou un document XML à l’aide de XPath.
Voici un exemple simple de fichier XML.
<website>
<site name="DelftStack">
<content>
<topic>PowerShell Howtos</topic>
<article>How to convert XML into CSV?</article>
</content>
</site>
<site name="DelftStack">
<content>
<topic>Linux Howtos</topic>
<article>Delete Files Recursively in Linux</article>
</content>
</site>
</website>
La commande suivante recherche la requête XPath topic
dans un fichier new.xml
du répertoire C:\Users\rhntm
.
Select-Xml -Path C:\Users\rhntm\new.xml -XPath "//topic" | Select-Object -ExpandProperty Node
Production:
#text
-----
PowerShell Howtos
Linux Howtos
Le paramètre -Path
spécifie le chemin et les noms de fichier des fichiers XML à rechercher.
Le paramètre -XPath
spécifie une requête XPath à rechercher. Le texte de la requête est sensible à la casse.
Utilisez la méthode SelectNodes
pour sélectionner des attributs en XML dans PowerShell
La méthode SelectNodes()
sélectionne une liste de nœuds correspondant à l’expression XPath dans un fichier XML.
L’exemple suivant sélectionne le nœud content
à partir d’un fichier new.xml
.
[xml]$xml = Get-Content 'C:\Users\rhntm\new.xml'
$xml.SelectNodes('//content')
Production:
topic article
----- -------
PowerShell Howtos How to convert XML into CSV?
Linux Howtos Delete Files Recursively in Linux
Le [xml]
convertit la variable en un objet XML. L’applet de commande Get-Content
récupère le contenu d’un C:\Users\rhntm\new.xml
et l’enregistre dans la variable $xml
.
Pour sélectionner l’attribut spécifique, vous pouvez utiliser l’applet de commande Select-Object
. Par exemple, la commande suivante sélectionne uniquement l’article
d’un fichier new.xml
.
[xml]$xml = Get-Content 'C:\Users\rhntm\new.xml'
$xml.SelectNodes('//content') | Select-Object article
Production:
article
-------
How to convert XML into CSV?
Delete Files Recursively in Linux
Utilisez l’applet de commande Get-Content
pour sélectionner des attributs en XML dans PowerShell
Comme vous l’avez vu plus haut, l’applet de commande Get-Content
récupère le contenu d’un fichier XML. Vous pouvez enregistrer le contenu dans une variable et le convertir en objet XML.
L’exemple suivant montre comment utiliser Get-Content
et sélectionner des attributs dans un fichier XML.
[xml]$xml = Get-Content 'C:\Users\rhntm\new.xml'
$xml.website.site.content.topic
Production:
PowerShell Howtos
Linux Howtos
Il s’agit d’un moyen simple à utiliser si vous voulez la valeur texte du fichier XML. Nous espérons que cela vous a aidé à sélectionner des attributs en XML dans PowerShell.