Auswählen von Attributen in XML mit XPath

  1. Verwenden des Cmdlet Select-Xml zum Auswählen von Attributen in XML in PowerShell
  2. Verwenden der Methode SelectNodes zum Auswählen von Attributen in XML in PowerShell
  3. Verwendung von das Cmdlet Get-Content zum Auswählen von Attributen in XML in PowerShell
Auswählen von Attributen in XML mit XPath

XML steht für Extensible Markup Language. Eine XML-Datei ist eine einfache Textdatei mit benutzerdefinierten Tags zum Definieren der Dokumentstruktur.

Es wird hauptsächlich verwendet, um strukturierte Informationen zu speichern und zu teilen. Der Inhalt der XML-Datei sieht ähnlich aus wie die HTML-Datei.

In diesem Lernprogramm werden verschiedene Methoden zum Auswählen von Attributen in XML mithilfe von XPath in PowerShell vorgestellt.

Verwenden des Cmdlet Select-Xml zum Auswählen von Attributen in XML in PowerShell

Mit dem Cmdlet Select-Xml können Sie mithilfe von XPath Text in einem XML-String oder -Dokument finden.

Dies ist ein einfaches Beispiel für eine XML-Datei.

<website>
<site name="DelftStack">
<content>
<topic>PowerShell Howtos</topic>
<article>How to convert XML into CSV?</article>
</content>
</site>
<site name="DelftStack">
<content>
<topic>Linux Howtos</topic>
<article>Delete Files Recursively in Linux</article>
</content>
</site>
</website>

Der folgende Befehl sucht nach der XPath-Abfrage topic in einer new.xml-Datei im Verzeichnis C:\Users\rhntm.

Select-Xml -Path C:\Users\rhntm\new.xml -XPath "//topic" | Select-Object -ExpandProperty Node

Ausgabe:

#text
-----
PowerShell Howtos
Linux Howtos

Der Parameter -Path gibt den Pfad und Dateinamen der zu durchsuchenden XML-Dateien an.

Der Parameter -XPath gibt eine zu durchsuchende XPath-Abfrage an. Beim Abfragetext wird zwischen Groß- und Kleinschreibung unterschieden.

Verwenden der Methode SelectNodes zum Auswählen von Attributen in XML in PowerShell

Die Methode SelectNodes() wählt eine Liste von Knoten aus, die mit dem XPath-Ausdruck in einer XML-Datei übereinstimmen.

Das folgende Beispiel wählt den Knoten content aus einer new.xml-Datei aus.

[xml]$xml = Get-Content 'C:\Users\rhntm\new.xml'
$xml.SelectNodes('//content')

Ausgabe:

topic             article
-----             -------
PowerShell Howtos How to convert XML into CSV?
Linux Howtos      Delete Files Recursively in Linux

Das [xml] wandelt die Variable in ein XML-Objekt um. Das Cmdlet Get-Content holt sich den Inhalt einer C:\Users\rhntm\new.xml und speichert ihn in der Variablen $xml.

Um das spezifische Attribut auszuwählen, können Sie das Cmdlet Select-Object verwenden. Beispielsweise wählt der folgende Befehl nur den article aus einer new.xml-Datei aus.

[xml]$xml = Get-Content 'C:\Users\rhntm\new.xml'
$xml.SelectNodes('//content') | Select-Object article

Ausgabe:

article
-------
How to convert XML into CSV?
Delete Files Recursively in Linux

Verwendung von das Cmdlet Get-Content zum Auswählen von Attributen in XML in PowerShell

Wie Sie oben gesehen haben, ruft das Cmdlet Get-Content den Inhalt einer XML-Datei ab. Sie können den Inhalt in einer Variablen speichern und in ein XML-Objekt umwandeln.

Das folgende Beispiel zeigt, wie man Get-Content verwendet und Attribute in einer XML-Datei auswählt.

[xml]$xml = Get-Content 'C:\Users\rhntm\new.xml'
$xml.website.site.content.topic

Ausgabe:

PowerShell Howtos
Linux Howtos

Dies ist eine einfache Methode, wenn Sie den Textwert aus der XML-Datei benötigen. Wir hoffen, dass dies Ihnen bei der Auswahl von Attributen in XML in PowerShell geholfen hat.

Genießen Sie unsere Tutorials? Abonnieren Sie DelftStack auf YouTube, um uns bei der Erstellung weiterer hochwertiger Videoanleitungen zu unterstützen. Abonnieren
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

Verwandter Artikel - PowerShell XML