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