Источник: www.frnet.narod.ru
Хранить данные в XML-виде удобно, так как большинство современных языков программирования позволяют работать с XML-документами при помощи, готовых классов с необходимым набором функций.
Рассмотрим пример чтения XML-документа. Создайте XML-документ со следующим содержимым:
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<Table>
<Product>
<Product_id>1</Product_id>
<Product_name>Product 1</Product_name>
<Product_price>1000</Product_price>
</Product>
<Product>
<Product_id>2</Product_id>
<Product_name>Product 2</Product_name>
<Product_price>2000</Product_price>
</Product>
<Product>
<Product_id>3</Product_id>
<Product_name>Product 3</Product_name>
<Product_price>3000</Product_price>
</Product>
<Product>
<Product_id>4</Product_id>
<Product_name>Product 4</Product_name>
<Product_price>4000</Product_price>
</Product>
</Table>
Кодировка XML-файла должна быть UTF-8. В нашем примере данный XML-документ будет называться Test.xml и располагаться в корневом каталоге. Естественно, вы можете указать для него любое другое имя и расположение. Создайте новый проект – Console Application.
Для сокращения программного кода и упрощения использования необходимых для нашего примера классов, добавьте в код модуля объявление пространств имен System.Xml и System.IO.
Imports System.Xml Imports System.IO
Процедура Main должна выглядеть следующим образом:
Sub Main()
' Создаем объект для хранения XML-документа
Dim xmldoc As New XmlDataDocument()
' Создаем переменную для хранения списка узлов
Dim xmlnode As XmlNodeList
Dim i As Integer
Dim str As String
' Загружаем XML-файл
Dim fs As New FileStream("C:\Test.xml", FileMode.Open, FileAccess.Read)
xmldoc.Load(fs)
' Делаем выборку узлов по названию тега
xmlnode = xmldoc.GetElementsByTagName("Product")
' Выводим данные из дочерних элементов выбраных узлов
For i = 0 To xmlnode.Count - 1
xmlnode(i).ChildNodes.Item(0).InnerText.Trim()
str = xmlnode(i).ChildNodes.Item(0).InnerText.Trim() & _
" | " & xmlnode(i).ChildNodes.Item(1).InnerText.Trim() & _
" | " & xmlnode(i).ChildNodes.Item(2).InnerText.Trim()
Console.WriteLine(str)
Next
' Ждем нажатия клавиши для закрытия программы
Console.ReadKey()
End Sub
В результате выполнения кода в консоли вы увидете следующее:
1 | Product 1 | 1000 2 | Product 2 | 2000 3 | Product 3 | 3000 4 | Product 4 | 4000
Данный пример тестировался в Visual Studio.NET 2010.
- Ссылки по теме:
- Как создать XML-файл при помощи VB.NET?

