Jump to content

Powershell: XML-Datei auslesen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo zusammen,

 

ich versuche per Powershell eine XML-Datei auszulesen.

Die XML-Datei ist etwas umfangreicher und bereitet mir deswege einige Probleme.

 

Die XML habe ich mal hier gekürzt dargestellt:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<thinclients>
    <thinclient>
        <tcname>Thinclient1</tcname>
        <firmware>
            <model>ThinClientModel</model>
            <version>4.2.3.4</version>
        </firmware>
        <settings>
            <pclass profile="false" name="x.drivers.currentdriver">
                <pvalue instancenr="-1">via_pro</pvalue>
            </pclass>
            <pclass profile="true" name="x.xserver0.colordepth">
                <pvalue instancenr="-1">16</pvalue>
            </pclass>   
		</settings>
    </thinclient>
</thinclients>

 

Mein Ziel ist es folgende Dinge auszugeben:

  • tcname ("Thinclient1")
  • pvalue ("via_pro")

Gefiltert jedoch nach pclass name = "x.drivers.currentdriver"

 

Also folgende Ausgabe:

Thinclient1  via_pro

 

 

Ich hoffe ihr könnt mir etwas weiterhelfen.

 

Viele Grüße

Musashi

Link zu diesem Kommentar
[xml]$meinexml = get-content C:\ps\meinskript.xml
foreach( $var in $meinexml.thinclients.thinclient.settings.pclass) 
{if ($meinexml.thinclients.thinclient.settings.pclass.name -eq “x.drivers.currentdriver”)
{    
    write-host $var.pvalue.'#text'
}}

 

Dieses Skript habe ich schon zusammen.

Jedoch wird nicht nach "x.drivers.currentdriver" gefiltert.

 

Ausgabe ist immer:

via_pro

16

 

Später muss ich natürlich noch irgendwie die Verknüpfung von dem tcname ("Thinclient1") zu dem entsprechenden pvalue ("via_pro") hinkriegen.

Link zu diesem Kommentar

So wird ein Schuh draus ;)

 

[xml]$meinexml = get-content C:\ps\meinskript.xml

$meinexml | ? {$_.thinclients.thinclient.settings.pclass.name -eq "x.drivers.currentdriver"} | % {

	$_.thinclients.thinclient.tcname
	$_.thinclients.thinclient.settings.pclass.pvalue.InnerText

}

Hier werden aber noch beide Werte von pvalue angezeigt, die Trennung ist in der xml nicht sauber.

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...