» Навигация
- - - - - - - - - - - - - - - -
  » Наша кнопка
- - - - - - - - - - - - - - - -
  » Книги
- - - - - - - - - - - - - - - -
   » Чтение XML-документа в VB.NET
 
Автор: Алексей Голубев
Источник: 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.

 

  » Друзья сайта
- - - - - - - - - - - - - - - -
  » Разное
- - - - - - - - - - - - - - - -
  » Счетчики
- - - - - - - - - - - - - - - -
  Дизайнер и ведущий проекта: Голубев Алексей
Copyright Alexei Golubev © 2004 — 2011
Hosted by uCoz