简体   繁体   English

从组对象中获取价值

[英]Obtain Value From Group-Object

Working off of a previous post of mine (here: Remove Duplicate XML Nodes in PowerShell ) 解决我的上一篇文章(此处: 在PowerShell中删除重复的XML节点

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: 这是$ 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). 使用For循环,我想从组对象($ softwareToBeInstalled)中获取值并将其放入变量中(例如$ softwareName,$ softwareVersion等)。

You need a simple foreach loop on $softwareToBeInstalled array: 您需要在$softwareToBeInstalled数组上有一个简单的foreach循环:

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

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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