連載 .NETで簡単XML 第8回 VS.NETでXML Schemaを活用する(動作編)株式会社ピーデー 川俣 晶2003/09/27 |
|
|
次は書き込んだ情報をXML文書ファイルに出力する方法だが、これはWriteXmlメソッドを使うことで容易に実現できる。ここまでの段階で保存されたファイルの内容は以下のようになる。
|
|
WriteXmlメソッドで出力されるファイルresult01.xmlの内容 |
見てのとおり、XMLに関する直接的な記述は一切行っていないが、確かに意図する通りのXML文書が得られている。もちろん、スキーマの定義に従った内容になっている。
さて、さらにサンプル・プログラムの続きを見てみよう、次は、保存したファイルを再度読み込んで編集する例である。
まず、XML文書の読み込みである。読み込みも、書き出しと同様にReadXmlメソッドで容易に実現できる。しかし、どんなXML文書でも読めるというわけではないことに注意が必要である。スキーマから自動生成されたコードは、スキーマに沿ったXML文書を読み込むことを前提としている。例えば、名前要素の内容を読み書きするために名前プロパティが生成されているが、これは間違いなく名前要素が存在しなければ意味がない機能である。
次に、書き込まれたデータの変更を見てみよう。住所などのプロパティは書き込みも可能なので、
addressBook2.個人[0].住所 = "大田区13-14-15"
といった代入は問題なく実行でき、データの内容を書き換えることができる。また、サンプル・プログラムにあるように、「Remove個人Row」メソッドを使うことで個人要素を取り除くことができる。
もう1つ、For Each文によってアクセス可能である例もサンプル・プログラムに追加しておいた。
For Each r As 住所録.個人Row In addressBook2.個人
Trace.WriteLine(r.ID)
Trace.WriteLine(r.名前)
Trace.WriteLine(r.住所)
Next
この変更結果を保存したファイルは以下のようになる。先ほどのresult01.xmlの内容と比べると、1人分の個人情報が追加され、1人分が削除され、さらに1人の住所が書き換えられていることが分かると思う。
|
|
result01.xmlを読み込んで内容を変更し、出力されたファイルresult02.xmlの内容 |
さて、ここで作成したデータセットとは、ADO.NETの機能である。ADO.NETはデータベースのための機能だが、XML文書を扱う機能も大々的に取り入れられており、SQL ServerなどのRDBMS抜きでも、活用可能になっているのである。
INDEX | ||
.NETで簡単XML | ||
第8回 VS.NETでXML Schemaを活用する(動作編) | ||
1.XML文書読み込み時にXML Schemaで内容をチェックする | ||
2.スキーマからデータセットを作成する(1) | ||
3.スキーマからデータセットを作成する(2) | ||
4.データセットを作成できない場合 | ||
「連載 :.NETで簡単XML」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|