VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。
基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。
フォーマットを指定してDOMドキュメントを書き出すには、XmlTextWriterを使用します。Formattingプロパティに Formatting.Indenteを指定することで、インデント幅を変更することができます。何も指定せずにDOMドキュメントを書き出すと改行やインデントは行われないので注意が必要です。
XmlDocumentsクラスを使用するには、Imports System.Xmlを追加します。
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
'サンプルで作成されるXMLファイル(Test.xml) <?xml version="1.0" encoding="shift_jis"?><ADDRESS_DATA><ZIP>012-3456</ZIP> <ADDRESS>東京都港区赤坂XXX</ADDRESS><NAME>ひろずどっとねっと< /NAME></ADDRESS_DATA>