我想將此xml文件導出爲Excel(CSV)。我在網上搜索了一些例子,但我似乎找不到任何可以幫助我的東西。Powershell如何將XML文件導出爲Excel(CSV)
我不擅長PowerShell。
<?xml version="1.0" encoding="UTF-8"?>
<products updated="12/16/2015">
<product name="office">
<addresslist type="IPv6">
<address>2</address>
<address>256</address>
<address>434</address>
</addresslist>
<addresslist type="IPv4">
<address>13.107</address>
<address>13.14/24</address>
</addresslist>
<addresslist type="URL">
<address>*.google</address>
<address>*.yahoo</address>
<address>*.some other link</address>
</addresslist>
</product>
<product name="LYO">
<addresslist type="URL">
<address>*.rtrt</address>
<address>eever</address>
</addresslist>
<addresslist type="IPv4">
<address>23.178</address>
<address>23.18</address>
<address>23.19</address>
</addresslist>
<addresslist type="IPv6">
<address>2a01:13::/4</address>
<address>2a01:1</address>
</addresslist>
</product>
</products>
這就是我已經wrtten,但它沒有給我需要什麼。
[xml]$file = get-content ./O365IPAddresses.xml
$xmlProperties = $file.SelectNodes("/products/product")
Foreach ($xmlProperty in $xmlProperties) {
$o = New-Object Object
Add-Member -InputObject $o -MemberType NoteProperty -Name Name -Value $xmlProperty.name
foreach ($p in $xmlProperty.addresslist)
{
$type += $p.type
$add += $p.address
}
Add-Member -InputObject $o -MemberType NoteProperty -Name Type -Value $type
Add-Member -InputObject $o -MemberType NoteProperty -Name Address -Value $add
$type="";
$add="";
#Add-Member -InputObject $o -MemberType NoteProperty -Name Name -Value $xmlProperty.name
$o
}
$o="";
這就是我需要輸出的代碼。
Name Type V
Office IPv4 12111,12121,12,12,1,2,12,1,2,
Office IPv6 12111,12121,12,12,1,2,12,1,2,
Office URL google, yahoo
lyo IPv4 12111,12121,12,12,1,2,12,1,2,
lyo IPv6 12111,12121,12,12,1,2,12,1,2,
lyo URL some lyn, yahoo
你能告訴我們你試過的東西不是真的有用嗎?現在這看起來像是寫代碼的請求,而不是這裏的代碼。 – Matt
請參閱編輯 – maj
既然你提到你不知道PS得非常好,我會強烈建議學習如何使用幫助功能。在PS:'help * CSV *'中輸入以下內容 – dfundako