もっと詳しく

を使用して エクスポート-CSVConvertTo-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 XMLConvertTo-CSV
PowerShell XMLConvertTo-CSV

クールなヒント: PowerShellを使用してファイル名に日付を含むCSVをエクスポートする方法!

結論

Export-CSVおよびConvertTo-CSVファイルを使用してXMLをCSVファイルに変換する方法に関する上記の記事がお役に立てば幸いです。

PowerShell Active DirectoryコマンドとPowerShellの基本に関するその他のトピックは、ShellGeekホームページにあります。

The post PowerShell-XMLをCSVファイルに変換する appeared first on Gamingsym Japan.