Sucht Text in einer XML-Zeichenfolge oder einem XML-Dokument. (Select-XML)
NAMESelect-XMLÜBERSICHTSucht Text in einer XML-Zeichenfolge oder einem XML-Dokument.SYNTAXSelect-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>]BESCHREIBUNGMit 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 Keiner 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 Keiner 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 Keiner 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 Keiner 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 Keiner Pipelineeingaben akzeptieren?false Platzhalterzeichen akzeptieren?false <CommonParameters> Dieses Cmdlet unterstützt folgende allgemeine Parameter: "Verbose", "Debug", "ErrorAction", "ErrorVariable", "WarningAction", "WarningVariable", "OutBuffer" und "OutVariable". Weitere Informationen erhalten Sie mit dem Befehl "get-help about_commonparameters".EINGABENSystem.String oder System.Xml.XmlNode Sie können einen Pfad oder einen XML-Knoten über die Pipeline an Select-XML übergeben.AUSGABENSystem.Xml.XmlElement oder System.Xml.XmlTextHINWEISEXPath 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 "http://go.microsoft.com/fwlink/?LinkId=143608" (möglicherweise auf Englisch). Siehe auch die "Referenz zu XPath" in der MSDN Library unter "http://go.microsoft.com/fwlink/?LinkId=143609" (möglicherweise auf Englisch).Beispiele
BEISPIEL 1C:\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 2C:\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 3C:\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 4C:\PS>$namespace = @{command="http://schemas.microsoft.com/maml/dev/command/2004/10"; maml="http://schemas.microsoft.com/maml/2004/10"; dev="http://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 5C:\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". VERWANDTE LINKS Online version: http://go.microsoft.com/fwlink/?LinkID=135255 (möglicherweise auf Englisch) ConvertTo-XML C:\Windows>powershell get-help Write-Debug -full
Microsoft Windows [Version 10.0.19045.3693]
Copyright (c) 2023 Microsoft Corporation.
ColorConsole [Version 3.7.1000] PowerShell 2.0-Export