XMLDocumentからXML文字列をインデントを整えて取得
おはようございます。
みなさんXMLDocumentクラスには日頃からお世話になっていることでしょう。
このXMLDocumentからXML文字列を取得したい場合、InnerXMLで取得できます。
が、<rakko>らっこ</rakko><koara>こあら</koara><rakuda>らくだ</rakuda>…というように改行もインデントもありません。
Saveメソッドで保存する際に見やすく綺麗に整頓されますが、このSaveメソッドの説明が雑です。引数違いで4種類くらいありますが、とっつきやすいのはファイルパスを指定して保存するというもの。XMLファイルとして保存するという要求ならOKですが、ただ文字列としてほしい場合これは困りものです。お仕事だとローカルフォルダにファイルを置くってだけで権限やらポリシーやら絡んできますからね。
んで文字列だけ取り出すのが↓
Dim rvRep as string
Dim rvStringBuilder As Text.StringBuilder = New Text.StringBuilder
Dim rvTextWriter As IO.TextWriter = New IO.StringWriter(rvStringBuilder)
xmlDocNew.Save(rvTextWriter)
rvRep = rvStringBuilder.ToString
なかなか便利です。お試しあれ。