Sucht Text in einer XML-Zeichenfolge oder einem XML-Dokument.
Syntax
Select-XML -Content <string[]> [-Xpath] <string> [-Namespace <hashtable>] [<CommonParameters>] Select-XML [-Path] <string[]> [-Xpath] <string> [-Namespace <hashtable>] [<CommonParameters>] Select-XML [-Xml] <XmlNode[]> [-Xpath] <string> [-Namespace <hashtable>] [<CommonParameters>]
Beschreibung
Mit dem Cmdlet "Select-XML" können Sie mithilfe von XPath-Abfragen Text in XML-Zeichenfolgen und -Dokumenten suchen. Geben Sie eine XPath-Abfrage ein, und geben Sie den zu durchsuchenden XML-Inhalt mithilfe des Parameters "Content", "Path" oder "Xml" an.
Parameter
-Content <string[]>
Gibt eine Zeichenfolge an, die den zu durchsuchenden XML-Inhalt enthält. Sie können Zeichenfolgen auch über die Pipeline an Select-XML übergeben.
Erforderlich? |
true |
Position? |
named |
Standardwert |
keine |
Pipelineeingaben akzeptieren? |
true (ByValue) |
Platzhalterzeichen akzeptieren? |
false |
-Namespace <hashtable>
Gibt eine Hashtabelle der im XML-Inhalt verwendeten Namespaces an. Verwenden Sie das Format "@{<Namespacename> = <Namespacewert>}.
Erforderlich? |
false |
Position? |
named |
Standardwert |
keine |
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-Path <string[]>
Gibt den Pfad und die Dateinamen der zu durchsuchenden XML-Dateien an. Platzhalter sind zulässig.
Erforderlich? |
true |
Position? |
2 |
Standardwert |
keine |
Pipelineeingaben akzeptieren? |
true (ByPropertyName) |
Platzhalterzeichen akzeptieren? |
true |
-Xml <XmlNode[]>
Gibt einen oder mehrere XML-Knoten an. In jedem Befehl ist ein Path-Parameter oder ein XML-Parameter erforderlich.
Ein XML-Dokument wird als Auflistung von XML-Knoten verarbeitet. Wenn Sie ein XML-Dokument über die Pipeline an Select-XML übergeben, wird jeder über die Pipeline übertragene Dokumentknoten einzeln durchsucht.
Erforderlich? |
true |
Position? |
2 |
Standardwert |
keine |
Pipelineeingaben akzeptieren? |
true (ByValue, ByPropertyName) |
Platzhalterzeichen akzeptieren? |
false |
-Xpath <string>
Gibt eine XPath-Suchabfrage an. In der Abfragesprache wird die Groß-/Kleinschreibung berücksichtigt. Dieser Parameter ist erforderlich.
Erforderlich? |
true |
Position? |
1 |
Standardwert |
keine |
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
<CommonParameters>
Dieses Cmdlet unterstützt die folgenden allgemeinen Parameter: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer und -OutVariable. Weitere Informationen finden Sie unter about_Commonparameters.
Eingaben und Ausgaben
Der Eingabetyp ist der Typ der Objekte, die über die Pipeline an das Cmdlet übergeben werden können. Der Rückgabetyp ist der Typ der Objekte, die das Cmdlet zurückgibt.
Eingaben |
System.String oder System.Xml.XmlNode Sie können einen Pfad oder einen XML-Knoten über die Pipeline an Select-XML übergeben. |
Ausgaben |
System.Xml.XmlElement oder System.Xml.XmlText |
Hinweise
XPath ist eine Standardsprache zum Identifizieren von Teilen eines XML-Dokuments. Weitere Informationen zur XPath-Sprache finden Sie im Abschnitt "Auswahlfilter" des Themas "Ereignisauswahl" in der MSDN Library (Microsoft Developer Network) unter "https://go.microsoft.com/fwlink/?LinkId=143608" (möglicherweise auf Englisch). Siehe auch die "Referenz zu XPath" in der MSDN Library unter "https://go.microsoft.com/fwlink/?LinkId=143609" (möglicherweise auf Englisch).
Beispiel 1
C:\PS>$path = "$env:windir\System32\WindowsPowerShell\v1.0\Types.ps1xml" C:\PS> select-xml -path $path -xpath "/Types/Type/Members/AliasProperty" Beschreibung ----------- In diesem Beispiel wird in der Datei "Types.ps1xml" nach untergeordneten Elementen des AliasProperty-Knotens gesucht.
Beispiel 2
C:\PS>select-xml -path test*.xml, help.xml -xpath "/Tests/Test[1]/Name" Beschreibung ----------- Dieser Befehl durchsucht mithilfe von Select-XML mehrere XML-Dateien.
Beispiel 3
C:\PS>[xml]$Types = get-content "$env:windir\System32\WindowsPowerShell\v1.0\Types.ps1xml" C:\PS> select-xml -xml $Types -xpath "//MethodName" Beschreibung ----------- In diesem Beispiel wird gezeigt, wie ein XML-Dokument über die Pipeline an Search-Path übergeben wird.
Beispiel 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... ... Beschreibung ----------- In diesem Beispiel wird gezeigt, wie mit dem Cmdlet "Select-XML" die XML-Hilfedateien von Windows PowerShell für Cmdlets durchsucht werden. Im ersten Befehl wird eine Hashtabelle erstellt, die den XML-Namespace darstellt, und in der Variablen "$namespace" gespeichert. Im zweiten Befehl wird der Pfad der Hilfedateien in der Variablen "$path" gespeichert. Im dritten Befehl wird der XML-Inhalt mithilfe von Select-Xml auf Cmdlet-Namen durchsucht, indem im gesamten Inhalt der Dateien Command:Name-Tags gesucht werden.
Beispiel 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 Beschreibung ----------- In diesem Beispiel wird der XML-Inhalt in einer here-Zeichenfolge mithilfe des Content-Parameters von Select-XML durchsucht. Im ersten Befehl wird die here-Zeichenfolge in der Variablen "$xml" gespeichert. Im zweiten Befehl wird der XML-Inhalt in der Variablen "$xml" mithilfe des Content-Parameters angegeben. Der dritte Befehl entspricht dem zweiten Befehl. In ihm wird der XML-Inhalt in der Variablen "$xml" mithilfe eines Pipelineoperators (|) an das Cmdlet "Select-XML" gesendet. Weitere Informationen über here-Zeichenfolgen erhalten Sie mit folgendem Befehl: " about_Quoting_Rules".
Siehe auch