Recherche du texte dans un document ou une chaîne XML.
Syntaxe
Select-XML -Content <string[]> [-Xpath] <string> [-Espace de noms <hashtable>] [<CommonParameters>] Select-XML [-Path] <string[]> [-Xpath] <string> [-Espace de noms <hashtable>] [<CommonParameters>] Select-XML [-Xml] <XmlNode[]> [-Xpath] <string> [-Espace de noms <hashtable>] [<CommonParameters>]
Description
L'applet de commande Select-XML vous permet d'utiliser des requêtes XPath pour rechercher du texte dans des documents et chaînes XML. Entrez une requête XPath, puis utilisez le paramètre Content, Path ou Xml pour spécifier le contenu XML à rechercher.
Paramètres
-Content <string[]>
Spécifie une chaîne contenant le XML à rechercher. Vous pouvez également diriger des chaînes vers Select-XML.
Obligatoire ? |
true |
Position ? |
named |
Valeur par défaut |
aucun |
Accepter l'entrée de pipeline ? |
true (ByValue) |
Accepter les caractères génériques ? |
false |
-Espace de noms <hashtable>
Spécifie une table de hachage des espaces de noms utilisés dans le XML. Utilisez le format @{<nomEspacedenoms> = <valeurEspacedenoms>}.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
aucun |
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-Path <string[]>
Spécifie le chemin d'accès et les noms des fichiers XML à rechercher. Les caractères génériques sont autorisés.
Obligatoire ? |
true |
Position ? |
2 |
Valeur par défaut |
aucun |
Accepter l'entrée de pipeline ? |
true (ByPropertyName) |
Accepter les caractères génériques ? |
true |
-Xml <XmlNode[]>
Spécifie un ou plusieurs nœuds XML. Un paramètre Path ou XML est requis dans chaque commande.
Un document XML sera traité comme une collection de nœuds XML. Si vous dirigez un document XML vers Select-XML, chaque nœud du document fera l'objet d'une recherche séparée lors de son passage via le pipeline.
Obligatoire ? |
true |
Position ? |
2 |
Valeur par défaut |
aucun |
Accepter l'entrée de pipeline ? |
true (ByValue, ByPropertyName) |
Accepter les caractères génériques ? |
false |
-Xpath <string>
Spécifie une requête de recherche XPath. Le langage de requête respecte la casse. Ce paramètre est obligatoire.
Obligatoire ? |
true |
Position ? |
1 |
Valeur par défaut |
aucun |
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
<CommonParameters>
Cette applet de commande prend en charge les paramètres courants : -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer et -OutVariable. Pour plus d'informations, consultez about_Commonparameters.
Entrées et sorties
Le type d'entrée est le type des objets que vous pouvez diriger vers l'applet de commande. Le type de retour est le type des objets que l'applet de commande retourne.
Entrées |
System.String ou System.Xml.XmlNode Vous pouvez diriger un chemin d'accès ou un nœud XML vers Select-XML. |
Sorties |
System.Xml.XmlElement ou System.Xml.XmlText |
Remarques
XPath est un langage standard conçu pour identifier des parties d'un document XML. Pour plus d'informations sur le langage XPath, consultez la section « Filtres de sélection » de la rubrique « Sélection d'événements » (page éventuellement en anglais) dans MSDN Library à l'adresse https://go.microsoft.com/fwlink/?LinkId=143608. Consultez également « Référence XPath » (page éventuellement en anglais) dans MSDN Library à l'adresse https://go.microsoft.com/fwlink/?LinkId=143609.
Exemple 1
C:\PS>$path = "$env:windir\System32\WindowsPowerShell\v1.0\Types.ps1xml" C:\PS> select-xml -path $path -xpath "/Types/Type/Members/AliasProperty" Description ----------- Cet exemple recherche les éléments enfants du nœud AliasProperty dans le fichier Types.ps1xml.
Exemple 2
C:\PS>select-xml -path test*.xml, help.xml -xpath "/Tests/Test[1]/Name" Description ----------- Cette commande utilise Select-XML pour effectuer une recherche dans plusieurs fichiers XML.
Exemple 3
C:\PS>[xml]$Types = get-content "$env:windir\System32\WindowsPowerShell\v1.0\Types.ps1xml" C:\PS> select-xml -xml $Types -xpath "//MethodName" Description ----------- Cet exemple montre comment diriger un document XML vers Search-Path.
Exemple 4
C:\PS>$namespace = @{command="https://schemas.microsoft.com/maml/dev/command/2004/10"; maml="https://schemas.microsoft.com/maml/2004/10"; dev="https://schemas.microsoft.com/maml/dev/2004/10"} C:\PS> $path = "$env:windir\System32\WindowsPowerShell\V1.0\en-us\*dll-Help.xml" C:\PS> select-xml -path $path -namespace $namespace -xpath "//command:name" Text Node Path ---- ---- ---- Add-Computer name C:\Windows\System32\WindowsPowerShell\V... Add-Content name C:\Windows\System32\WindowsPowerShell\V... Checkpoint-Computer name C:\Windows\System32\WindowsPowerShell\V... Clear-Content name C:\Windows\System32\WindowsPowerShell\V... Clear-EventLog name C:\Windows\System32\WindowsPowerShell\V... ... Description ----------- Cet exemple montre comment utiliser l'applet de commande Select-XML pour rechercher les fichiers d'aide des applets de commande XML de Windows PowerShell. La première commande crée une table de hachage qui représente l'espace de noms XML et l'enregistre dans la variable $namespace. La deuxième commande enregistre le chemin d'accès aux fichiers d'aide dans la variable $path. La troisième commande utilise Select-Xml pour rechercher le XML des noms d'applets de commande en recherchant des balises Command:Name n'importe où dans les fichiers.
Exemple 5
C:\PS>select-xml -content $xml -xpath "//edition" C:\PS> $xml = @" <?xml version="1.0" encoding="utf-8"?> <Book> <projects> <project name="Book1" date="2009-01-20"> <editions> <edition language="English">En.Book1.com</edition> <edition language="German">Ge.Book1.Com</edition> <edition language="French">Fr.Book1.com</edition> <edition language="Polish">Pl.Book1.com</edition> </editions> </project> </projects> </Book> "@ C:\PS> select-xml -content $xml -xpath "//edition" Text Node Path ---- ---- ---- En.Book1.com edition InputStream Ge.Book1.Com edition InputStream Fr.Book1.com edition InputStream Pl.Book1.com edition InputStream C:\PS> $xml | select-xml -xpath "//edition" Text Node Path ---- ---- ---- En.Book1.com edition InputStream Ge.Book1.Com edition InputStream Fr.Book1.com edition InputStream Pl.Book1.com edition InputStream Description ----------- Cet exemple utilise le paramètre Content de Select-XML pour rechercher le contenu XML d'une chaîne here-string. La première commande enregistre la chaîne here-string dans la variable $xml. La deuxième commande utilise le paramètre Content pour spécifier le contenu XML dans la variable $xml. La troisième commande est équivalente à la seconde. Elle utilise un opérateur de pipeline (|) pour envoyer le contenu XML de la variable $xml à l'applet de commande Select-XML. Pour plus d'informations sur les chaînes here-string, tapez about_Quoting_Rules.
Voir aussi