こんにちは私はPowershellを初めてお使いになりましたが、この質問に対する回答を全部見てきましたが、XMLデータをPowerShellのCSVデータに変換するにはどうすればよいですか?Powerシェルでxmlをcsvに変換する
<users>
<user>
<id>"data"</id>
<name>"data"</name>
<disabled>"data"</disabled>
<title>"data"</title>
<email>"data"</email>
<role>
<name>"data"</name>
</role>
<custom_fields_values>
<custom_fields_value>
<custom_field_id>60019</custom_field_id>
<value>"data"</value>
</custom_fields_value>
<custom_fields_value>
<custom_field_id>60021</custom_field_id>
<value>"data"</value>
</custom_fields_value>
<custom_fields_value>
<custom_field_id>60018</custom_field_id>
<value>"data"</value>
</custom_fields_value>
</custom_fields_values>
<site>
<name>"data"</name>
</site>
</user>
</users>
ツリーに複数の層であるフィールドが最大の痛みです:
は、ここに私のxmlファイルです。ここに私がこれまで出てきたスクリプトがあります。私は名前や電子メールのような基本的なフィールドを得ることができます。カスタムフィールドとそのサブセットという名前のフィールドが本当に必要です。
#Converts the xml to a CSV file
$samage_users.users.user | select-Object @(
@{l="Email";e={$_.email}},
@{l="Name";e={$_.name}},
@{l="ID";e={$_.ID}},
@{l="Phone";e={$_.phone}},
@{l="Site";e={$_.site.name}},
@{l="Reports_To";e={$_.reports_to.name}},
@{l="Reports_To_Email";e={$_.reports_to.email}})|
export-csv "Samanage_users.csv" -NoTypeInformation -Append
$page ++
start-sleep -s 10
}
While ($page -lt ($pages + 2))
}
Function NewUsers
{
foreach ($user in $new_user)
{
CSV出力ファイルは次のようになります。
(添付参照)すべてのヘルプは大歓迎です!
おかげ
希望の出力も表示します。 – Tomalak
私は自分の投稿に訂正しました。 –
本当ですか?適切な値を持つ '60019'という名前の列だけでなく、それぞれに「CUSTOM FIELD ID」と「CUSTOM FIELD VALUE」が必要ですか? – TheMadTechnician