前回→Visual Basic 2008 の新機能 - XML その1(簡単なXML リテラルの作成。) -
コメント欄は以前展開中です。
さて、今回は「埋め込み式」と言われる機能をば。まんまなリンクはこちらです↓
XML での埋め込み式
埋め込み式ってのは実行時に評価される式を含む XML リテラルを作成できることらしいです。実行時に、です。実行時。(←しつこい。)
これはOrcas Beta のころに一度書いたアレですね。
Option Compare Binary
Option Explicit On
Option Infer On
Option Strict On
Public Module Program
Public Sub Main()
Dim id = 76
Dim name = "とりこびと"
Dim torikobito As XElement = _
<WankumaMember>
<ID><%= id %></ID>
<Name><%= name %></Name>
</WankumaMember>
End Sub
End Module
埋め込み式は <%= expression %> という構文で記述できます。で、今回の例のようにXML 要素の内容に対してだけでなく、XML 要素名や属性名、属性値などでも埋め込み式は有効です。XML での埋め込み式にはそれぞれのサンプルが書かれています。(埋め込む位置に対する型やNothingの処理方法なども書かれています。)
無理やりやるとこんな感じ?(ひどすぎる・・・。)
Option Compare Binary
Option Explicit On
Option Infer On
Option Strict On
Public Module Program
Public Sub Main()
Dim elementName = "WankumaMember"
Dim id = 76
Dim name = "とりこびと"
Dim elementAttributeName = "MemberType"
Dim memberTypeValue = "Entertainer?"
Dim torikobito As XElement = _
<<%= elementName %> <%= elementAttributeName %>=<%= memberTypeValue %>>
<ID><%= id %></ID>
<Name><%= name %></Name>
</>
End Sub
End Module
Visual Studio 2008 で実際に書いてみると、少し前にJZ5さんが書かれていた「閉じタグの要素名は省略できる」ってのがこんな感じで使われますた。逆に埋め込み式を使用して開いたタグの閉じタグに埋め込み式を記述することはできませんでした。