PowerShellを使用してXMLデータを解析し、XLS形式にエクスポートするスクリプトがあります。このスクリプトは、XMLが複雑でない場合に機能します。ただし、ノードに複数のプロパティがある場合は、そのプロパティはありません。現在Parse 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)"
}