今回は文字列からXmlDocumentを作成して、ファイルに保存する方法を紹介します。
まずは、以下のようにしてXML文字列を作成します。
PowerShellでは複数行にわたる文字列は ヒア文字列を使用することであらわすことができます。
ヒア文字列は@" ~ "@ で表します。
PS C:\Work> $strXml = @"
>> <?xml version='1.0' ?>
>> <personal_data>
>> <zipcode>012-3456</zipcode>
>> <address>1-1, Tokyo, Japan</address>
>> <name>HIRO</name>
>> </personal_data>
>> "@
>>
どのような文字列が代入されたのかを確認してみると
PS C:\Work> $strXML
<?xml version='1.0' ?>
<personal_data>
<zipcode>012-3456</zipcode>
<address>1-1, Tokyo, Japan</address>
<name>HIRO</name>
</personal_data>
きちんと改行されて代入されていることがわかります
次にこの文字列をXmlDocument型にキャストします。
PS C:\Work> $xmlDoc = [xml]$strXml
最後に、ファイルへ出力する方法ですが、Saveメソッドを使用して下記のように記述します。
PS C:\Work> $xmlDoc.Save("C:\Work\Test.xml")
で、ファイルに出力できたら、メモ帳などで内容を確認してみてください。
下記のようになっているかと思います。
Test.xml
<?xml version="1.0"?>
<personal_data>
<zipcode>012-3456</zipcode>
<address>1-1, Tokyo, Japan</address>
<name>HIRO</name>
</personal_data>
インデントまで自動でしてくれます。
すばらしいですね。