VB で Linq2XML で… というか XDocument をアクセスしてみる。
ポイントは以下。
- 要素名は不等号でくくる
- 属性名は@を先頭につける
- 要素名と要素名の間、要素名と属性名の間は . で区切る
- VB であっても要素名や属性名は大文字小文字区別なので注意
Sub Main()
' ↓ 外部ファイル読み込み「Dim xdoc = XDocument.Load(".test.xml")」の代わり
Dim xdoc = <?xml version="1.0" encoding="UTF-8"?>
<Menu>
<Button>
<背景色 id="2">赤</背景色>
<背景色 id="4">緑</背景色>
</Button>
<Button>
<背景色 id="7">白</背景色>
<背景色 id="0">黒</背景色>
</Button>
</Menu>
' 直接要素(InnerText)を参照する
Dim a = xdoc.<Menu>.<Button>(0).<背景色>(1).Value
Console.WriteLine("------")
Console.WriteLine(a)
' 直接属性を参照する
Dim b = xdoc.<Menu>.<Button>(0).<背景色>(1).@id
Console.WriteLine("------")
Console.WriteLine(b)
' 要素をコレクションで取得する
Dim c = xdoc.<Menu>.<Button>(1).<背景色>
Console.WriteLine("------")
For Each d In c
Console.WriteLine("{0}", d.Value)
Next
End Sub
結果
------ 緑 ------ 4 ------ 白 黒
[VB.NET] Linq to XML メモ その2 | オールトの雲
[…] [VB.NET] Linq to XML メモ […]
Link | 2014年12月20日 21:59