XMLリテラル
VB.NETでは、XML文字列をXMLオブジェクトとして簡単に定義できます。
Dim element As XElement = <root> <users> <user id="" /> </users> </root>
変数を使う
変数を使って値を設定したい場合、<%= 変数名 %>
を使用します。
Dim id As Integer = 1 Dim element As XElement = <root> <users> <user id=<%= id %> /> </users> </root>
要素を変数で定義する
要素名を変数で定義し、</>
を設定します。
Dim elementName As String = "users" Dim id As Integer = 1 Dim element As XElement = <root> <<%= elementName %>> <user id=<%= id %> /> </> </root>
属性を変数で定義する
属性名と属性値を別々の変数で定義し、「=」を挟んでXMLを定義します。
Dim attr As String = "id" Dim id As Integer = 1 Dim element As XElement = <root> <users> <user <%= attr %>=<%= id %> /> </users> </root>
配列やリストを展開する
配列やリストを展開してXMLを追加したい場合、LINQのFrom / Select
を使用します。
Dim list As New List(Of Integer)(New Integer() {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 As Integer = 1 Dim flg As Boolean = True Dim 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
- メディア: 単行本
- この商品を含むブログを見る