HIRO's.NET

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

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

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

HIRO's.NET RSSHIRO's.NET RSS


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

HOME > VB.NET 2003 Tips > XML Tips メニュー

04.フォーマットを指定してXMLファイルを書き出す

UPDATE:2004/11/15 

<< 前のTips  次のTips >>

 


 フォーマットを指定してDOMドキュメントを書き出すには、XmlTextWriterを使用します。Formattingプロパティに Formatting.Indenteを指定することで、インデント幅を変更することができます。何も指定せずにDOMドキュメントを書き出すと改行やインデントは行われないので注意が必要です。
 XmlDocumentsクラスを使用するには、Imports System.Xmlを追加します。

 
サンプル1
Imports System.Xml
:
: 省略
:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim xmlDoc As New XmlDocument
    Dim strXml As String

    'DOMドキュメント文字列を変数にセット
    strXml = "<?xml version='1.0'?>" & _
        "<ADDRESS_DATA>" & _
        "<ZIP>012-3456</ZIP>" & _
        "<ADDRESS>東京都港区赤坂XXX</ADDRESS>" & _
        "<NAME>ひろずどっとねっと</NAME>" & _
        "</ADDRESS_DATA>"

    'DOMドキュメント文字列からXmlDocumentオブジェクトを作成
    xmlDoc.LoadXml(strXml)
    Try
        'ストリームをShift Jisで作成
        Dim xmlWrite As New XmlTextWriter("Test.Xml", System.Text.Encoding.GetEncoding("Shift_Jis"))
        'インデント幅を4文字に設定
        xmlWrite.Formatting = Formatting.Indented
        xmlWrite.Indentation = 4
        '保存する
        xmlDoc.Save(xmlWrite)
        'ストリームを閉じる
        xmlWrite.Close()
        MessageBox.Show("Shift Jisで作成完了!!")
    Catch ex As XmlException
        MessageBox.Show(ex.Message)
    End Try
End Sub


 
サンプル2
'サンプルで作成されるXMLファイル(Test.xml)
<?xml version="1.0" encoding="shift_jis"?><ADDRESS_DATA><ZIP>012-3456</ZIP> 
<ADDRESS>東京都港区赤坂XXX</ADDRESS><NAME>ひろずどっとねっと< /NAME></ADDRESS_DATA>