lima-city: Webhosting, Domains und Cloud
0 Pluspunkte 0 Minuspunkte

Wie kann ich eine XML Datei in Powershell lesen und bestimmte Elemente in einer Schleife ausgeben? Ich habe z.B mehrere verschiedene Elemente (Switch, Router) wie kann ich alle "Switch" Elemente in einer Schleife ausgeben?

<Root>
  <Switch>
    <Vendor>Cisco</Vendor>
    <Location>2</Location>
  </Switch>
  <Switch>
    <Vendor>HP</Vendor>
    <Location>1</Location>
  </Switch>
  <Router>
    <Vendor>Cisco</Vendor>
    <Location>1</Location>
  </Router>
  <Switch>
    <Vendor>Cisco</Vendor>
    <Location>4</Location>
  </Switch>
  <Router>
    <Vendor>Mikrotik</Vendor>
    <Location>3</Location>
  </Router>
  <Switch>
    <Vendor>HP</Vendor>
    <Location>8</Location>
  </Switch>
</Root>
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Mit DocumentElement.ChildNodes kannst du alle Elemente durchlaufen und in einer Schleife für jedes Element prüfen ob es den Anforderungen entspricht..

$xmlContent = [xml](Get-Content -Path "device_list.xml")
$rootNode = $xmlContent.DocumentElement

foreach ($element in $rootNode.ChildNodes) {

    if($element.SelectSingleNode("Vendor").InnerText -eq 'HP') {
    
        Write-Host $element.SelectSingleNode("Vendor").InnerText
        
    }
    
}
von  
Diese Community basiert auf dem Prinzip der Selbstregulierung. Beiträge werden von Nutzern erstellt, bewertet und verbessert – ganz ohne zentrale Moderation.

Wer hilfreiche Fragen stellt oder gute Antworten gibt, sammelt Punkte. Mit steigender Punktzahl erhalten Mitglieder automatisch mehr Rechte, zum Beispiel

  • Kommentare verfassen
  • Fragen und Antworten bewerten
  • Themen von Fragen bearbeiten
  • Fragen, Antworten und Kommentare bearbeiten
  • Inhalte ausblenden

So entsteht eine Plattform, auf der sich Qualität durchsetzt – getragen von einer engagierten Gemeinschaft.

2.3k Fragen

2.8k Antworten

265 Kommentare

14 Nutzer