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 :値 = イチゴ 続行するには何かキーを押してください . . .
コメント