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