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




Table des matières