Источник: www.frnet.narod.ru
Работать с файлами в формате 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>