XMLファイルを読込む
VB.NETでXMLファイルを読込む方法です。
サンプルxml
test.xml の内容
<?xml version="1.0" encoding="utf-8"?>
<xRoot>
<xFruits id="くだもの">
<xData id="1">
<xCode>001</xCode>
<xName>りんご</xName>
</xData>
<xData id="2">
<xCode>002</xCode>
<xName>みかん</xName>
</xData>
<xData id="3">
<xCode>003</xCode>
<xName>イチゴ</xName>
</xData>
</xFruits>
</xRoot>
サンプルコード
System.Xml をインポートする必要があります。
Imports System.Xml
Module Module1
Sub Main()
Dim xmlDoc As New XmlDocument()
Dim xRoot As XmlElement
Dim xnode As XmlNode
Dim xnodeList As XmlNodeList
'XMLファイルを読込
xmlDoc.Load("C:\tmp\test.xml")
'XMLドキュメントからルート要素を取り出す
xRoot = xmlDoc.DocumentElement
If xRoot IsNot Nothing Then
Console.WriteLine(String.Format("xmlルート名 = {0}", xRoot.Name))
Console.WriteLine(String.Format("xml = {0}", xRoot.InnerXml))
Else
Exit Sub
End If
'値を取得
'取得したい場所のパスを`/`区切りで指定
xnode = xmlDoc.DocumentElement.SelectSingleNode("xFruits/xData/xName")
Dim str As String = If(Not xnode Is Nothing, xnode.InnerText, "")
Console.WriteLine(str)
'子要素の属性(id)を取得
xnode = xmlDoc.DocumentElement.SelectSingleNode("xFruits/xData")
Console.WriteLine(String.Format("id = {0}", xnode.SelectSingleNode("@id").Value))
'要素をリストで取得
xnodeList = xmlDoc.DocumentElement.SelectNodes("xFruits/xData/xName")
Console.WriteLine(String.Format("要素数 = {0}", xnodeList.Count))
For Each val As XmlNode In xnodeList
Console.Write(String.Format("タグ名 = {0} :値 = {1}", val.Name, val.InnerText))
Console.WriteLine()
Next
End Sub
End Module
実行結果
xmlルート名 = xRoot
xml = <xFruits id="くだもの"><xData id="1"><xCode>001</xCode><xName>りんご</xName></xData><xData id="2"><xCode>002</xCode><xName>みかん</xName></xData><xData id="3"><xCode>003</xCode><xName>イチゴ</xName></xData></xFruits>
りんご
id = 1
要素数 = 3
タグ名 = xName :値 = りんご
タグ名 = xName :値 = みかん
タグ名 = xName :値 = イチゴ
続行するには何かキーを押してください . . .
コメント