private/Get-NuspecMetadata.ps1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
$ErrorActionPreference = 'Stop' function Get-NuspecMetadata { param( [ValidateScript( { Test-Path $_ })] [Parameter(Mandatory = $true)] [string]$nuspecFile ) $nuspecFile = Resolve-path $nuspecFile $nu = New-Object xml $nu.PSBase.PreserveWhitespace = $true $nu.Load($nuspecFile) $result = @{} $nu.package.metadata.ChildNodes | ForEach-Object { if ($_.NodeType -eq "Element") { $result[$_.Name] = $_.InnerText } } | Out-Null return $result } |