В данной рассылке публикуются советы, примеры и статьи, связанные технологией XML. Не смотря на то, что сайт рассылки посвящен web-разработке, в рассылке публикуется также материал, который может быть связан с тематикой сайта косвенно. В рассылке появляется не только уже имеющаяся на сайте иформация, но и дополняющая ее.
Сайт рассылки: http://frnet.narod.ru/. На нем вы найдете все выпуски рассылки, а также полезную информацию по web-дизайну и web-программированию.
Буду рад услышать предложения или опубликовать материал, связанный с тематикой сайта или рассылки, от всех желающих поучаствовать. Для связи воспользуйтесь следующим адресом электронной почты: alexey-golubev@mail.ru.
Выпуск №7: Чтение XML-документа в VB.NET
Автор: Алексей Голубев
Хранить данные в XML-виде удобно, так как большинство современных языков программирования позволяют работать с XML-документами при помощи, готовых классов с необходимым набором функций.
Рассмотрим пример чтения XML-документа. Создайте XML-документ со следующим содержимым:
Кодировка 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
В результате выполнения кода в консоли вы увидете следующее:
Материал рассылки может публиковаться и использоваться без каких-либо ограничений в некоммерческих целях, при условии сохранения авторства.
Если вы ищите единомышленников или хотите опубликовать информацию, связанную с тематикой рассылки или сайта, присылайте готовый текст объявления или статьи для размещения. Приветствуется информация о новых книгах, интересных статьях в журналах, новости и тенденции в web-разработке и информационных технологиях.
Также готов обменяться ссылками на сайты и рассылки, сделать не сложную разметку и дизайн вашей рассылки (на подобии данного и находящихся в архиве выпусков), с условием размещения информации об авторе дизайна и ссылки на сайт Frnet.