VBNet.Su - Visual Basic .NET. ASP .NET. Framework .NET.
Новости
26.12.2008 Лимитный инвайт для тех, кто хочет присоединиться к VBNet.Su, но не может :)
vbnet-super
С наступающим!
join

18.12.2008 Увеличен размер поля для подписи. Разрешено использовать некоторые теги HTML.
Изменены правила форума, в подписи разрешено использовать партнерские ссылки. Ссылки в подписи могут использовать только те пользователи, которые разместили обратную ссылку на VBNet.Su на одном из сайтов, указанных в профиле. Проверка обратных ссылок производится в автоматическом режиме. Если у Вас возникнут какие-либо вопросы, обращайтесь к администратору.

15.12.2008 Открылась рассылка VBNet.Su!
Рассылка будет выходить автоматически, несколько раз в неделю. В рассылке будут содержаться последние обновления сайта (аналог RSS). Чтобы подписаться на рассылку VBNet.Su, перейдите по этой ссылке.
Архив новостей
Будь в теме
USB Flash Drive
VBNet.Su рекомендуетTranscend JetFlash V20 USB 2.0 Flash Drive 8Gb
Жемчужно-белый с прозрачной цветной вставкой USB-накопитель Transcend JetFlash V20 совместим с любым компьютером или ноутбуком с USB портом. Transcend JetFlash серии V лучшее решение среди USB накопителей начального ... подробнее..
Цена: 724 руб. КУПИТЬ
Партнеры
Kbyte.Ru OZON.ru
Счетчики
Рассылка 'Visual Basic .NET - новости, коды, статьи, форум'
Статьи / XML /

Работа с XML средствами Visual Basic .NET

Автор: Алексей Немиро | добавлено: 07 декабря 2008 / 19:28 | просмотров: 9721 (+9142)
В последнее время мне много приходит вопросов на тему работы с XML и писать каждому отдельно ответы на этот вопрос мне надоело, посему пишу сразу для всех.
И так, в данном обзоре вы узнаете, как создать и прочитать XML средствами Visual Basic .NET.

Создание XML


Начнем, пожалуй, с простого примера:

001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020:
021:
022:
023:
024:
025:
026:
027:
028:
029:
030:
031:
032:
033:
034:
035:
036:
037:
038:
039:
040:
041:
042:
'создаем MemoryStream, в который будем писать XML
Dim myMemoryStream As New IO.MemoryStream
'создаем XmlTextWriter, указываем объект – myMemoryStream,
'в который будем писать XML, и кодировку windows-1251
Dim myXml As New System.Xml.XmlTextWriter(myMemoryStream, _
System.Text.Encoding.GetEncoding(1251))


'создаем XML
myXml.WriteStartDocument()
'устанавливаем параметры форматирования
'xml-документа
'в данном случае –
'System.Xml.Formatting.Indented - форматирует отступы
'в дочерних элементах в соответствии с параметрами
'настройки Indentation и IndentChar
myXml.Formatting = System.Xml.Formatting.Indented
'длина отступа
myXml.Indentation = 2


'создаем элемент
myXml.WriteStartElement("test")

'создаем элемент
myXml.WriteStartElement("item")
'записываем строку
myXml.WriteString("привет, это тест")
'закрываем элемент
myXml.WriteEndElement()


'создаем элемент
myXml.WriteStartElement("data")
'записываем параметры
myXml.WriteAttributeString("name", "Фамилия Имя")
myXml.WriteAttributeString("birthday", "27.02.2007")
'закрываем элемент
myXml.WriteEndElement()


'создаем элемент
myXml.WriteEndElement()


'заносим данные в myMemoryStream
myXml.Flush()

В результате выполнения данного кода можно получить примерно такой XML-файл:

 


<test>
  <item>привет, это тестitem>
  <data name="Фамилия Имя" birthday="27.02.2007" />
test>


В данном примере XML записывается в MemoryStream, однако, вместо MemoryStream можно использовать любой другой Stream, например FileStream, либо еще проще, записывать данные сразу в файл, для этого просто вместо myMemoryStream в пятой строке укажите путь к файлу:

005:
006:
Dim myXml As New System.Xml.XmlTextWriter("C:myxml.xml", _
System.Text.Encoding.GetEncoding(1251))


Чтение
XML


Читать XML также легко, как и создавать, посему начну с примера:

001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
Dim myXml As New System.Xml.XPath.XPathDocument(myMemoryStream)
Dim sItem As String = ""
'читаем значение элемента item
sItem = _
yXml.CreateNavigator.SelectSingleNode("/test/item").Value
Dim sName As String = ""
Dim sBirthday As String = ""
'читаем значение name элемента data
sName = _
myXml.CreateNavigator.SelectSingleNode("/test/data/@name").Value
'читаем значение birthday элемента data
sName = _
myXml.CreateNavigator.SelectSingleNode("/test/data/@birthday").Value

В данном случае, вместо myMemoryStream в первой строке можно указать непосредственно путь к XML-файлу.
Метод SelectSingleNode получает значение первого элемента указанного в XPath. Если вызвать этот метод еще раз, то он возвратит значение следующего элемента, и т.д.


Вот собственно и все, если у вас возникнут вопросы, вы всегда можете задать их на форуме http://vbnet.su/forum/

Удачи!
Смотрите также
Visual Basic .NET 2005 (Framework 2.0) Использование XML.Serialization
Автор: Алексей Немиро | добавлено: 07 декабря 2008 / 19:25 | просмотров: 3593 (+3231)
В данном обзоре речь пойдет об использование XML.Serialization в .NET и ее применении на примере сохранения и считывания настроек программы с использованием синтаксиса языка Visual Basic .NET.
У нас есть
Мозолистые пальцы
Всего:1220
С ногами:2440
Красные глаза
Всего:244
Левых:122
Правых:122
Горячие мозги
Всего:122
Левых:3
Правых:27
Еще какие-то:92
Сегодня сказали
Сегодня еще никто ничего не говорил :-(
Архив сказанного ранее
Букварь всему голова
Книги на VBNet.SuПрограммирование на Microsoft Visual Basic 2005
Сейчас нетрудно найти справочное руководство по языку программирования Microsoft Visual Basic 2005. Но это пособие уникально: здесь, в добавление к справочной информации вы найдете примеры, показывающие, как можно применять старые и новые возможности ... подробнее..
Автор: Франческо Балена
Цена: 1069 руб. КУПИТЬ
Все книги на VBNet.Su
TOP 10 пользователей
Алексей Немиро65.2275660625+
Ігор47.181654625+
kibernetics16.0390645+
Kolyasik5.9658263125+
rublenko3.734375+
Arseny3.6845703125+
Skywalker2.904296875+
ostgals2.857421875+
5acredphoenix2.708994375+
andrey_z5z2.3857511875+
Все пользователи


Реклама: