更新 : 2007 年 11 月
アプリケーションはさまざまなデータを操作しますが、その中でも、拡張マークアップ言語 (XML: Extensible Markup Language) は最も普及したデータ形式の 1 つです。現在、Visual Basic では XML リテラルを使用して Visual Basic コードで XML マークアップを使用できます。このレッスンでは、XML マークアップをコード内で直接使用する方法、および XML に式を埋め込む方法について説明します。
XML リテラルを使用すると、XML 要素と XML ドキュメントをプログラムによって簡単に作成できます。たとえば XML 要素を作成する場合、型 XElement の変数を宣言してから XML マークアップのブロックをその変数に割り当てることができます。
XML マークアップは手動で入力することも、クリップボードにコピーし Visual Basic コード エディタに直接貼り付けることも、ファイルから XML を読み込むこともできます。詳細については、「方法 : ファイル、文字列、またはストリームから XML を読み込む (Visual Basic)」を参照してください。このレッスンでは、XML をこのトピックから直接コピーできます。
やってみよう
XML 要素を作成するには
[ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。
[新しいプロジェクト] ダイアログ ボックスが表示されます。
[Windows フォーム アプリケーション] をクリックし、[OK] をクリックします。
ツールボックスから Button コントロールをフォームにドラッグします。
ボタンをダブルクリックして、コード エディタで既定の Click イベント ハンドラを入力します。次のコードを追加します。
Dim memo As XElement = _ <memo> <date>February 2, 2008</date> <to>Patrick Hines</to> <from>Roger Harui</from> <heading>XML Literals</heading> <body>Visual Basic makes XML element creation easy!</body> </memo> Console.WriteLine(memo)
Visual Basic IDE で、[表示] メニューの [その他のウィンドウ] をポイントし、[出力] をクリックします。
[出力] ウィンドウが開きます。
F5 キーを押してアプリケーションを実行します。
ボタンをクリックしてからアプリケーションを閉じて、[出力] ウィンドウに次の XML マークアップが表示されていることを確認します。
<memo> <date>February 2, 2008</date> <to>Patrick Hines</to> <from>Roger Harui</from> <heading>XML Literals</heading> <body>Visual Basic makes XML element creation easy!</body> </memo>
このコード例では、日付は必ず "February 2, 2008" と表示されます。現在の日付を表示させたい場合は、XML の内部に式を埋め込みます。たとえば現在の日付用の変数を作成し、その変数を特別なタグの中に入れて、変数を式として組み込む方法があります。このタグは左山かっこ、パーセント記号、等号、スペースで始まります。そしてタグは、スペース、パーセント記号、右山かっこで終わります。つまり、<%= variable %> となります。
Visual Basic では代入される値から型を推論するため、ローカル変数のデータ型を宣言する必要はありません。しかし、次のコードでは、わかりやすくするために型を示しています。詳細については、「ローカル型の推論」を参照してください。
埋め込み式を持つ XML 要素を作成するには
ボタンの既定の Click イベント ハンドラで、コードを次のコードに置換します。
Dim currentDate As String = Format(Now, "MMMM d, yyyy") Dim memo As XElement = _ <memo> <date> <%=currentDate %></date> <to>Patrick Hines</to> <from>Roger Harui</from> <heading>XML Literals</heading> <body>Embedding expresions in XML is easy!</body> </memo> Console.WriteLine(memo)
F5 キーを押し、ボタンをクリックして、フォームを閉じます。
[出力] ウィンドウに表示された XML マークアップで現在の日付が表示されていることを確認します。
次の手順
このレッスンでは、XML リテラルをコード内で使用する方法、および XML リテラルに式を埋め込む方法について説明しました。次の一連のレッスンでは、テキスト ファイルを読み書きする方法について説明します。
次のレッスン : 「ファイル システムの使用 : ファイルの書き込みと読み取り」