我有一個利用PowerShell解析XML數據並導出爲XLS格式的腳本。這個腳本在XML不復雜的情況下工作。但是,當節點具有多個屬性時,它不會。解析XML多參數
目前,獲取一個節點的屬性我使用:
$Switch = $xml.DC.Rack[$i] | %{$_.NetworkSwitch} | Select-Object -Unique
不過,我需要的位置,地址和VLAN的詳細信息。這是什麼樣的節點看起來像一個例子:
<NetworkSwitch Location="ABC" Address="XX.XXX.XXX.XX" Vlan="YY" />
這裏是我的PS1的副本:
$xmlFile = "D:\My.xml"
$xPath = "//Rack"
[xml]$xml = Get-Content $xmlFile -Raw
$NodeCount = $xml.SelectNodes($xPath).Count
for ($i = 1; $i -le $NodeCount; $i++)
{
$Switch = $xml.DC.Rack[$i] | %{$_.NetworkSwitch} | Select-Object -Unique
Write-Host "$($Switch)"
}