HIRO's.NET

VB.NET, C#, PowerShell Tipsサイト

 VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。

 基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。

HIRO's.NET RSSHIRO's.NET RSS


PowerShellの開発でお困りのことはありませんか?
そんな悩みは当サイトで解決!!

HOME > PowerShell Tips > XML操作 Tips メニュー

03.Encodingを指定してXMLファイルを作成する

 
UPDATE:2008/05/02    
 
<< 前のTips  次のTips >> 



文字列からXMLファイルを作成するでは、Xmlファイルを作成する際、Encodingを指定しませんでした。

このTipsでは、Encodingを指定してのXmlファイル作成方法について説明します。

まずは、保存先ファイル名とEncodingを変数へ代入します。

List1

PS C:\Work> $SaveFile = "C:\Work\UTF8.xml"
PS C:\Work> [System.Text.Encoding]::UTF8

List1ではEncodingにUTF8を代入しましたが、Shift_Jisを使用する場合には GetEncodingメソッドを使用してList2のようにします。

List2

PS C:\Work> $Encoding = [System.Text.Encoding]::GetEncoding("Shift_Jis")

次に、XML文字列を変数 $strXml へ代入します。(文字列からXMLファイルを作成する)

List3

PS C:\Work> $strXml = @"
>> <?xml version='1.0' ?>
>> <personal_data>
>> <zip_code>012-3456</zip_code>
>> <address>1-1, Tokyo, Japan</address>
>> <name>HIRO</name>
>> </personal_data>
>> "@
>>

作成した文字列を XmlDocument型へキャストします。(List4)

List4

PS C:\Work> $xmlDoc = [xml]$strXml

UTF8 にエンコードした XmlTextWriter を作成します。

List5

PS C:Work> $xmlWriter = New-Object System.Xml.XmlTextWriter($SaveFile, $Encoding)

最後に、ファイルに保存して、XmlTextWriterを閉じます。

List6

PS C:\Work> $XmlDoc.Save($xmlWriter)
PS C:\Work> $xmlWriter.Close()
 
<< 前のTips  次のTips >>