简体   繁体   中英

Obtain Value From Group-Object

Working off of a previous post of mine (here: Remove Duplicate XML Nodes in PowerShell )

Here's my code:

#Load XML file into $catalogXML
[xml]$catalogXML = (Get-Content (C:\test.xml))

$softwareVersionsArray = $catalogXML.catalog.software
$softwareToBeInstalled = $softwareVersionsArray|Group-Object name|ForEach-Object {$_.Group[0]}

Here's my current output for $softwareToBeInstalled:

name            version        installer_location                      
----            -------        ------------------                      
MozillaFirefox  31.3.0        /Mozilla/Firefox/31.3.0.exe             
Arduino         7.8           /Arduino/7.8.exe                        
GoogleChrome    35.7          /Google/Chrome/35.7.msi

Using a For loop, I'd like to grab values from my group object ($softwareToBeInstalled) and place them into variables (such as $softwareName, $softwareVersion, etc).

You need a simple foreach loop on $softwareToBeInstalled array:

foreach ($soft in $softwareToBeInstalled) 
{
    $softwareName = $soft.name  
    $softwareVersion = $soft.version
    $softwareLocation = $soft.installer_location

    Write-Host "$softwareName $softwareVersion $softwareLocation"
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM