Отправляет email-рассылки с помощью сервиса Sendsay

XML и сопутствующие технологии

  Все выпуски  

XML и сопутствующие технологии


XML и сопутствующие технологии
О рассылке
Сайт рассылки: http://www.frnet.narod.ru/. На нем вы найдете все выпуски рассылки, а также полезную информацию по web-дизайну и web-программированию.
Выпуск №6: Как создать XML-файл при помощи VB.NET?
Автор: Алексей Голубев

Работать с файлами в формате XML можно на любой платформе, используя любой язык программирования, имеющий соответствующий набор методов.

Рассмотрим пример создания XML-файла при помощи VB.NET. Данный пример тестировался в Visual Studio.NET 2010.

Первым делом нужно создать новый проект, например консольное приложение (Console Application).

Для работы с XML-документами имеется набор классов. Для создания файла нам потребуется класс XMLTextWriter. При создании XML-документа мы должны указать путь к создаваемому файлу и кодировку.

Для примера будем составлять каталог товаров. Создадим отдельную процедуру для записи позиции в каталог. Код примера выглядит следующим образом:

Module Module1

    Sub Main()
        ' Создаем объект для записи XML-данных
        Dim Writer As New Xml.XmlTextWriter("C:\Test.xml", System.Text.Encoding.UTF8)
        ' Записываем объявление версии XML
        writer.WriteStartDocument(True)
        ' Указываем, что XML-документ должен быть отформатирован
        Writer.Formatting = Xml.Formatting.Indented
        ' Задаем 2 пробела для выделения вложенных данных
        writer.Indentation = 2
        ' Записываем открывающий тег

        writer.WriteStartElement("Table")
        ' Вызываем процедуру записи позиции
        addProduct(1, "Product 1", "1000", Writer)
        addProduct(2, "Product 2", "2000", Writer)
        addProduct(3, "Product 3", "3000", Writer)
        addProduct(4, "Product 4", "4000", Writer)
        ' Закрываем тег
        writer.WriteEndElement()
        ' Заканчиваем запись (закрываем все не закрытые элементы)
        writer.WriteEndDocument()
        ' Закрываем файл
        writer.Close()
    End Sub

    ' Процедура записи позиции
    Private Sub addProduct(ByVal pID As String, ByVal pName As String, ByVal pPrice As String, ByVal writer As Xml.XmlTextWriter)
        writer.WriteStartElement("Product")
        ' Запись открывающего тега

        writer.WriteStartElement("Product_id")
        ' Запись обычных тексовых данных в качестве содержимого тега
        writer.WriteString(pID)
        ' Запись закрывающего тега
        writer.WriteEndElement()
        writer.WriteStartElement("Product_name")
        writer.WriteString(pName)
        writer.WriteEndElement()
        writer.WriteStartElement("Product_price")
        writer.WriteString(pPrice)
        writer.WriteEndElement()
        writer.WriteEndElement()
    End Sub

End Module

В результате получаем следующий 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>
Архив
Архив рассылок сайта: http://www.frnet.narod.ru/subscribe.html.
Спасибо за внимание. С уважением, Алексей Голубев.

В избранное