VB.NET XMLファイルの値を取得する
VB.NET
でXMLファイルの値を取得する方法を紹介します。
以下のように、深い階層構造のデータでも簡単に取得できます。(このようなデータの持ち方は実際は考えずらいですが。。)
<?xml version="1.0" encoding="utf-8" ?>
<configration>
<USERS>
<USER1>
<USERID>1</USERID>
<USERNM>ユーザー名</USERNM>
</USER1>
<USER2>
<USERID>2</USERID>
<USERNM>ユーザー名2</USERNM>
</USER2>
</USERS>
</configration>
上記のXMLのファイル名を「user.xml」とします。
ユーザー名2
を取得したい場合は以下のようにします。
Imports System.Xml 'ファイルの先頭に追加
Dim xmlDoc As New XmlDocument()
'XMLファイルを読込
xmlDoc.Load("user.xml")
'取得したい場所のパスを`/`区切りで指定
Dim node As XmlNode = xmlDoc.DocumentElement.SelectSingleNode("USERS/USER2/USERNM")
'値を取得
Dim str As String = If(Not node Is Nothing, node.InnerText, "")
Console.WriteLine(str) 'ユーザー名2
SelectSingleNode(階層パス)
で取得したいタグまで一気にアクセスできます。