を使用して エクスポート-CSV と ConvertTo-CSV PowerShellのコマンドレットを使用すると、XMLファイルをCSVファイルに変換できます。
XML (Extensible Markup Language)は、HTMLに似たマークアップ言語であり、データを格納および転送するための独自のタグを定義できます。 人間が読める形式と機械が読める形式であり、簡単に解析できます。
CSV (コンマ区切り値)ファイルは、データを表形式で格納します。各値は、区切り文字のコンマ、半列、またはその他の文字で区切られます。
この記事では、Export-CSVおよびConvertTo-CSVコマンドレットを使用してXMLをCSVファイルに変換する方法について説明します。
PowerShell –Export-CSVを使用したXMLからCSVへ
PowerShellのExport-CSVコマンドレットは、オブジェクトの入力からCSVファイルを作成し、CSVファイルを指定された場所にエクスポートします。
PowerShellでXMLをCSVに変換する例を考えてみましょう。
Get-Content -Path D:LogTestFTP-02PowerShell_Books.xml
上記のPowerShellスクリプトでは、Get-Contentコマンドレットを使用してXMLファイルのコンテンツを読み取り、表示しています。
上記のコマンドの出力は次のとおりです。
PS D:> Get-Content -Path D:LogTestFTP-02PowerShell_Books.xml <?xml version="1.0"?>
<catalog>
<book id="b101">
<author>ShellGeek</author>
<title>PowerShell Guide</title>
<genre>Programming</genre>
<price>50</price>
<publish_date>2022-01-01</publish_date>
<description>Master the PowerShell in 30 days</description>
</book>
<book id="b102">
<author>Microsoft</author>
<title>Windows PowerShell</title>
<genre>Programming</genre>
<price>25</price>
<publish_date>2021-12-16</publish_date>
<description>Step by Step Windows PowerShell</description>
</book>
</catalog>
PS D:>
XMLファイルの内容を変数に格納します $xmlFile
。 XMLでは、XMLファイルのすべての要素が要素ノードです。
XMLファイルをCSVファイルに変換するには、XMLファイルをXML子ノードにトラバースし、入力としてXML子ノードに渡す必要があります。 Export-CSV
PowerShellのコマンド。
エクスポート-CSV コマンドは、XMLノードを入力として受け取り、XML子ノードからCSVファイルを作成し、区切り文字のコンマを使用してCSVファイルにエクスポートします。
$xmlFile = Get-Content -Path D:LogTestFTP-02PowerShell_Books.xml $xmlFile.catalog.ChildNodes | Export-Csv -Path D:LogTestFTP-02PowerShell_Books.csv -NoTypeInformation -Delimiter:","
Export-CSVコマンドレットを使用したCSVファイルへのXML出力用の上記のPowerShellスクリプトの出力は次のとおりです。
上記の出力では、XMLをCSVファイルにエクスポートし、 Get-Content コマンドを実行すると、CSVファイルが読み取られ、PowerShellターミナルに情報が表示されます。
クールなヒント: PowerShellを使用して大きなファイルを小さなファイルに分割する方法!
PowerShellXMLConvertTo-CSVファイル
を使用して ConvertTo-CSV PowerShellのコマンドレットを使用すると、XMLファイルをCSVファイルに変換できます。
を参照します PowerShell_Books.xml 上記の例で使用されているファイル。 このXMLファイルには、書籍に関する情報が含まれています。
Books XMLノードのXMLをCSVファイルに変換するには、以下のようにConvertTo-CSVコマンドを使用します。
$xmlFile = Get-Content -Path D:LogTestFTP-02PowerShell_Books.xml $xmlFile.catalog.ChildNodes | ConvertTo-Csv -NoTypeInformation -Delimiter:"," | Set-Content -Path D:LogTestFTP-02PowerShell_Books_2.csv Get-Content -Path D:LogTestFTP-02PowerShell_Books_2.csv
上記のPowerShellスクリプトでは、 Get-Content
コマンドはXMLファイルの内容を読み取り、それを $xmlFile
変数。
この$xmlFile変数には、XMLノード全体が含まれ、それらを入力として ConvertTo-CSV
区切り文字を使用するコマンド コンマ CSVファイルの場合。 次に、CSVファイルのコンテンツをSet-Contentに渡して、指定されたファイルパスに書き込みます。
ConvertTo-CSVコマンドを使用してXMLノードをCSVにエクスポートする上記のPowerShellスクリプトの出力は次のとおりです。
クールなヒント: PowerShellを使用してファイル名に日付を含むCSVをエクスポートする方法!
結論
Export-CSVおよびConvertTo-CSVファイルを使用してXMLをCSVファイルに変換する方法に関する上記の記事がお役に立てば幸いです。
PowerShell Active DirectoryコマンドとPowerShellの基本に関するその他のトピックは、ShellGeekホームページにあります。
The post PowerShell-XMLをCSVファイルに変換する appeared first on Gamingsym Japan.