XmlWriterクラス

XMLファイルといえどもただのテキストファイルなので、テキストファイルへ文字列を書きこめばXMLファイルを生成すること自体は可能です。

ただ、このような方法でXMLファイルを生成すると、XMLファイルとして妥当(Valid)でない文書が完成する確率が高くなります。

そこで、もう少し抽象度の高い書き込みを実現する方法としてXmlWriterクラスが用意されています。

どのような場面で使えるか?

作成するXMLの構造を完全に把握していることが必要です。XmlWriteが出来るのは文書構造をXML形式として出力することだけです。(簡単な整合性チェック機能は持っていますが)

使い方

◆XMLドキュメント宣言

xmlWriter.WriteStartDocument()

◆要素タグ

◇要素、属性キー、属性値を順に追記

 xmlWriter.WriteStartElement("a")
xmlWriter.WriteStartAttribute("attr1", "")
xmlWriter.WriteString("sample1")
xmlWriter.WriteEndAttribute()

◇属性キーと属性値を指定して追加

xmlWriter.WriteAttributeString("attr2", "", "sample2") 
				※終了宣言なしでどんどん追記可能

◇空要素

xmlWriter.WriteStartElement("b")
xmlWriter.WriteEndElement()

◇属性なし、あとでテキスト値を追記

xmlWriter.WriteStartElement("c")
xmlWriter.WriteString("sample3")
xmlWriter.WriteEndElement()

◇テキストを指定して要素を追加

xmlWriter.WriteElementString("d", "sample4")

◆コメント

xmlWriter.WriteComment(“end of document”)

◆任意の文字

xmlWriter.WriteString(Chr(13) & Chr(10))

◆XML完了

xmlWriter.WriteEndDocument() ※特になくてもOK?

整合性チェック

xmlWrite.Close

補足

WriteStringのターゲットは、StartElement()の後ろかStartAttribute()の後ろかでどちらかに決まる

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です