Auswählen von Attributen in XML mit XPath
-
Verwenden des Cmdlet
Select-Xml
zum Auswählen von Attributen in XML in PowerShell -
Verwenden der Methode
SelectNodes
zum Auswählen von Attributen in XML in PowerShell -
Verwendung von das Cmdlet
Get-Content
zum Auswählen von Attributen in XML in PowerShell
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.