Trova il testo in un documento o una stringa XML.

Sintassi

Select-XML -Content <string[]> [-Xpath] <string> [-Spazio dei nomi <hashtable>] [<CommonParameters>]

Select-XML [-Path] <string[]> [-Xpath] <string> [-Spazio dei nomi <hashtable>] [<CommonParameters>]

Select-XML [-Xml] <XmlNode[]> [-Xpath] <string> [-Spazio dei nomi <hashtable>] [<CommonParameters>]

Descrizione

Il cmdlet Select-XML consente di utilizzare query XPath per cercare testo in documenti e stringhe XML. Immettere una query XPath e utilizzare il parametro Content, Path o Xml per specificare l'XML da cercare.

Parametri

-Content <string[]>

Specifica una stringa che contiene l'XML in cui eseguire la ricerca. È inoltre possibile reindirizzare stringhe a Select-XML.

Obbligatorio?

true

Posizione?

named

Valore predefinito

nessuno

Accettare input da pipeline?

true (ByValue)

Accettare caratteri jolly?

false

-Spazio dei nomi <hashtable>

Specifica una tabella hash degli spazi dei nomi utilizzati nell'XML. Utilizzare il formato @{<nomeSpaziodeinomi> = <valoreSpaziodeinomi>}.

Obbligatorio?

false

Posizione?

named

Valore predefinito

nessuno

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-Path <string[]>

Specifica il percorso e i nomi dei file XML in cui eseguire la ricerca. È consentito l'utilizzo di caratteri jolly.

Obbligatorio?

true

Posizione?

2

Valore predefinito

nessuno

Accettare input da pipeline?

true (ByPropertyName)

Accettare caratteri jolly?

true

-Xml <XmlNode[]>

Specifica uno o più nodi XML. Un parametro Path o XML è obbligatorio in ogni comando.

Un documento XML verrà elaborato come raccolta di nodi XML. Se si reindirizza un documento XML a Select-XML, la ricerca viene eseguita separatamente in ogni nodo del documento quando passa attraverso la pipeline.

Obbligatorio?

true

Posizione?

2

Valore predefinito

nessuno

Accettare input da pipeline?

true (ByValue, ByPropertyName)

Accettare caratteri jolly?

false

-Xpath <string>

Specifica una query di ricerca XPath. Il linguaggio di query rileva la distinzione tra maiuscole e minuscole. Questo parametro è obbligatorio.

Obbligatorio?

true

Posizione?

1

Valore predefinito

nessuno

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

<CommonParameters>

Questo cmdlet supporta i parametri comuni -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Per ulteriori informazioni, vedere about_Commonparameters.

Input e output

Il tipo di input è il tipo degli oggetti che è possibile reindirizzare al cmdlet. Il tipo restituito è il tipo degli oggetti restituiti dal cmdlet.

Input

System.String or System.Xml.XmlNode

È possibile reindirizzare un percorso o un nodo XML a Select-XML.

Output

System.Xml.XmlElement o System.Xml.XmlText

Note

XPath è un linguaggio standard progettato per identificare parti di un documento XML. Per ulteriori informazioni sul linguaggio XPath, vedere la sessione relativa ai filtri di selezione dell'argomento sulla selezione di eventi in MSDN Library all'indirizzo https://go.microsoft.com/fwlink/?LinkId=143608 (le informazioni potrebbero essere in lingua inglese). Vedere inoltre Riferimento XPath in MSDN Library all'indirizzo https://go.microsoft.com/fwlink/?LinkId=143609 (le informazioni potrebbero essere in lingua inglese).

Esempio 1

C:\PS>$path = "$env:windir\System32\WindowsPowerShell\v1.0\Types.ps1xml"

C:\PS> select-xml -path $path -xpath "/Types/Type/Members/AliasProperty"

Descrizione
-----------
In questo esempio vengono cercati gli elementi figlio del nodo AliasProperty nel file Types.ps1xml.






Esempio 2

C:\PS>select-xml -path test*.xml, help.xml -xpath "/Tests/Test[1]/Name"

Descrizione
-----------
Questo comando utilizza Select-XML per la ricerca in diversi file XML.






Esempio 3

C:\PS>[xml]$Types = get-content "$env:windir\System32\WindowsPowerShell\v1.0\Types.ps1xml"

C:\PS> select-xml -xml $Types -xpath "//MethodName"

Descrizione
-----------
In questo esempio viene illustrato come reindirizzare un documento XML a Search-Path.






Esempio 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...
...

Descrizione
-----------
In questo esempio viene illustrato come utilizzare il cmdlet Select-XML per eseguire la ricerca nei file della Guida del cmdlet basato su XML di Windows PowerShell. 

Il primo comando crea una tabella hash che rappresenta lo spazio dei nomi XML e lo salva nella variabile $namespace.

Il secondo comando salva il percorso dei file della Guida nella variabile $path.

Il terzo comando utilizza Select-Xml per cercare i nomi dei cmdlet nell'XML rilevando i tag Command:Name in qualsiasi punto nei file.






Esempio 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

Descrizione
-----------
In questo esempio viene utilizzato il parametro Content di Select-XML per cercare contenuto XML in una stringa here.

Nel primo comando la stringa here viene salvata nella variabile $xml.

Nel secondo comando viene utilizzato il parametro Content per specificare l'XML nella variabile $xml. 

Il terzo comando equivale al secondo. Viene utilizzato un operatore pipeline (|) per inviare l'XML nella variabile $xml al cmdlet Select-XML. 

Per ulteriori informazioni sulle stringhe here, digitare about_Quoting_Rules.






Vedere anche




Argomenti della Guida