現在ログインしていません。
新規アカウント作成
ログイン

XMLリテラル

Visual BasicではXMLリテラルとしてプログラム中に記述することができます。

Dim xml As XElement =
          <package>
              <item id="readme.txt">
                  <type>.txt</type>
                  <size>560</size>
              </item>
              <item id="test.xlsx">
                  <type>.xlsx</type>
                  <size>5620531</size>
              </item>
          </package>

MsgBox(xml.ToString)
■リスト1:Visual BasicのXMLリテラルの単純な例

このソースコードはVisual Studio上ではもっと見やすい色分けで表示されます。

XMLリテラル内で<%= %>を使用すると、変数や式の値を埋め込むことができます。

Dim file As System.IO.FileInfo = GetFile()

Dim xml As XElement =
          <package>
              <item id=<%= file.Name %>>
                  <type><%= file.Extension %></type>
                  <size><%= file.Length %></size>
              </item>
          </package>

MsgBox(xml.ToString)
■リスト2:Visual BasicのXMLリテラル内に変数や式を埋め込む例

さらに、XMLリテラル内でLINQを使うと、そのLINQが返すオブジェクトの数だけXML要素を生成できます。

Dim winPath As String =
    Environment.GetFolderPath(Environment.SpecialFolder.Windows)

Dim win As New IO.DirectoryInfo(winPath)

Dim xml As XElement =
  <package>
      <%= From file In win.GetFiles
          Select <item id=<%= file.Name %>>
                     <type><%= file.Extension %></type>
                     <size><%= file.Length %></size>
                 </item>
          Take 10
      %>
  </package>


MsgBox(xml.ToString)
■リスト3:Visual BasicのXMLリテラル内での繰り返し

XMLリテラルについては英語からの機械翻訳ですがここにまとまった情報があります。https://docs.microsoft.com/ja-jp/dotnet/visual-basic/programming-guide/language-features/xml/creating-xml