こんにちは、私は Powershell を初めて使用しますが、Power Shell で XML データを CSV データに変換するにはどうすればよいか、この質問に対する答えを探しました。
私の XML データは次のようになります。
<SolarWinds_SwitchPortMap Layer2Device="<info>">
<Interfaces>
<Interface ifIndex="<data>" CollectionTime="<data>" ConnectorPresent="<data>" Duplex="<data>" HardwareType="<data>" ifAdminStatus="<data>" ifAdminStatustest="<data>" ifAlias="<data>" ifDescr="<data>" MACAddress="<data>" MTU="<data>" ifName="<data>" ifOperStatus="<data>" ifSpeed="<data>" ifType="<data>" ifTypeName="<data>" InBitsSec="<data>" InPktsSec="<data>" LastChange="<data>" LastPacketIn="<data>" LastPacketOut="<data>" ModulePortIndex="<data>" OutBitsSec="<data>" OutPktSec="<data>" Port="<data>" TrunkPort="<data>" />
</Interfaces>
</Solarwinds_SwitchPortMap>
Powershell に xml データを理解させることができないようです。
set-location "<program location>"
.\swspmcmd.exe <info> /xml > "<output_location>\output_data.txt"
get-content "<output location>\output_data.txt" | select -skip 17 | set-content "<xmldata_location>\xmldata.xml"
$xml = [xml] (Get-Content "<xmldata_location>\xmldata.xml")
$xml | convertto-csv -Delimiter:"," -NoTypeInformation
そして、「SolarWinds_SwitchPortMap」「System.Xml.XmlElement」のみが返されます
理由がわかりません。助けていただければ幸いです:)。