Sucht Text in einer XML-Zeichenfolge oder einem XML-Dokument. (Select-XML)
NAME
Select-XML
# ÜBERSICHT
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 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".
# 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 "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).
# 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="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 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".
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
ColorConsole [Version 1.7.1000] PowerShell 2.0-Export
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2014 Microsoft Corporation.