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




Inhaltsverzeichnis