ConvertTo-*コマンドの動作
ConvertTo-で始まるPowerShellのコマンドはいくつかあるので、動作確認結果。
ConvertTo-Xmlはちょっとだけ期待はずれ。
最初はcsv。
> ([PSCustomObject]@{id=1;name="Jhon"},[PSCustomObject]@{id=2;name="Tom"}) | ConvertTo-Csv #TYPE System.Management.Automation.PSCustomObject "id","name" "1","Jhon" "2","Tom"
次にjson
> ([PSCustomObject]@{id=1;name="Jhon"},[PSCustomObject]@{id=2;name="Tom"}) | ConvertTo-Json [ { "id": 1, "name": "Jhon" }, { "id": 2, "name": "Tom" } ]
XML。デフォルトはxmlのオブジェクトになってしまうのでstringで出力。型情報も除去する。
Propertyでなく、idやnameにしたいが、方法は分からなかった。
> ([PSCustomObject]@{id=1;name="Jhon"},[PSCustomObject]@{id=2;name="Tom"}) | ConvertTo-Xml -As string -NoTypeInformation <?xml version="1.0" encoding="utf-8"?> <Objects> <Object> <Property Name="id">1</Property> <Property Name="name">Jhon</Property> </Object> <Object> <Property Name="id">2</Property> <Property Name="name">Tom</Property> </Object> </Objects>
ちなみにHTMLは下記の通り。
> ([PSCustomObject]@{id=1;name="Jhon"},[PSCustomObject]@{id=2;name="Tom"}) | ConvertTo-Ht ml <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>HTML TABLE</title> </head><body> <table> <colgroup><col/><col/></colgroup> <tr><th>id</th><th>name</th></tr> <tr><td>1</td><td>Jhon</td></tr> <tr><td>2</td><td>Tom</td></tr> </table> </body></html>