XMLリテラル
VB.NETでは、XML文字列をXMLオブジェクトとして簡単に定義できます。
Dim element As XElement =<root><users><user id=""/></users></root>
変数を使う
変数を使って値を設定したい場合、<%= 変数名 %>
を使用します。
Dim id AsInteger=1Dim element As XElement =<root><users><user id=<%= id %>/></users></root>
要素を変数で定義する
要素名を変数で定義し、</>
を設定します。
Dim elementName AsString="users"Dim id AsInteger=1Dim element As XElement =<root><<%= elementName %>><user id=<%= id %>/></></root>
属性を変数で定義する
属性名と属性値を別々の変数で定義し、「=」を挟んでXMLを定義します。
Dim attr AsString="id"Dim id AsInteger=1Dim element As XElement =<root><users><user <%= attr %>=<%= id %>/></users></root>
配列やリストを展開する
配列やリストを展開してXMLを追加したい場合、LINQのFrom / Select
を使用します。
Dim list AsNew List(Of Integer)(NewInteger() {1,2,3})Dim element As XElement =<root><users><%= From id In list Select<user id=<%= id %>/> %></users></root>
条件によって要素を追加する
条件によって要素を追加したい場合、ワンライナーのIf
を使用し、条件に一致しない場合、Nothing
を設定すると追加されません。
If
は、VS2008から使用できます。それ以前の場合、IIF関数を使用します。
Dim id AsInteger=1Dim flg AsBoolean=TrueDim element As XElement =<root><users><%=If(flg,<user id=<%= id %>,Nothing) %></users></root>
参考
vb.net - Conditional XML Literal - Stack Overflow
If 演算子でワンライナー - SG
方法: XML リテラルに式を埋め込む (Visual Basic)
逆引き大全

Windows8/7完全対応 Visual Basic 2013逆引き大全―Visual Studio Professional 2013/Express 2013対応
- 作者:増田智明,国本温子,池谷京子
- 出版社/メーカー:秀和システム
- 発売日: 2013/12
- メディア:単行本
- この商品を含むブログを見る