Программирование мобильных устройств на платформе .NET Compact Framework
Шрифт:
End Sub 'Конец функции
End Class 'Конец класса
Листинг 10.2. Вызов кода, предназначенного для сохранения и загрузки XML-документа
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Const FILENAME As String = "TestFileName.XML"
'Сохранить, используя XML DOM
SaveAndLoadXML_UseDOM.XML_SaveUserInfo(FILENAME, 14, "Ivo", _
"Salmre")
'Сохранить, используя объект однонаправленной записи XMLWriter
'SaveAndLoadXML_UseReaderWriter.XML_SaveUserInfo(FILENAME, _
' 18, "Ivo", "Salmre")
Dim userID As Integer
Dim firstName As String
Dim lastName As String
'Загрузить, используя XML DOM
SaveAndLoadXML_UseDOM.XML_LoadUserInfo(FILENAME, userID, _
firstName, lastName)
'Загрузить, используя объект однонаправленного чтения XMLReader
'SaveAndLoadXML_UseReaderWriter.XML_LoadUserInfo(FILENAME, _
' userID, firstName, lastName)
MsgBox("Готово! " + _
userID.ToString + ", " + lastName + ", " + firstName)
End Sub
Листинг 10.3. Использование однонаправленного чтения/записи XML-данных для загрузки XML-документа из файла и его сохранения
Option Strict On
Option Compare Binary
Imports System
Public Class SaveAndLoadXML UseReaderWriter
'XML-дескрипторы, которые мы будем использовать в своем документе
Const XML_ROOT_TAG As String = "AllMyData"
Const XML_USERINFO_TAG As String = "UserInfo"
Const XML_USERID_TAG As String = "UserID"
Const XML_NAMEINFO_TAG As String = "Name"
Const XML_FIRSTNAME_TAG As String = "FirstName"
Const XML_LASTNAME TAG As String = "LastName"
'Набор состояний, отслеживаемых по мере чтения данных
Private Enum ReadLocation
inAllMyData
inUserInfo
inUserID
inName
inFirstName
inLastName
End Enum
'--------------------------------------------------------------------
'Сохраняет пользовательское состояние
' [in] fileName: Имя файла, используемого для сохранения данных
' [in] userId: Идентификатор пользователя, который мы хотим сохранить
' [in] firstName: Имя пользователя, которое мы хотим сохранить
' [in] lastName: Фамилия пользователя, которую мы хотим сохранить
'--------------------------------------------------------------------
Public Shared Sub XML_SaveUserInfo(ByVal fileName As String, _
ByVal userId As Integer, ByVal firstName As String, _
ByVal lastName As String)
Dim xmlTextWriter As System.Xml.XmlTextWriter
xmlTextWriter = New System.Xml.XmlTextWriter(fileName, _
System.Text.Encoding.Default)
'Записать содержимое документа!
'<Root>
xmlTextWriter.WriteStartElement(XML_ROOT_TAG)
'<Root>
xmlTextWriter.WriteStartElement(XML_USERINFO_TAG)
'<Root><UserID>
'<Root><UserInfo>
xmlTextWriter.WriteStartElement(XML_NAMEINFO_TAG)
'<Root><UserInfo><Name>
xmlTextWriter.WriteStartElement(XML_FIRSTNAME_TAG)
'<Root><UserInfo><Name><FirstName>
xmlTextWriter.WriteString(firstName) 'Запись значения
xmlTextWriter.WriteEndElement 'Закрыть дескриптор имени
'<Root><UserInfo><Name>
xmlTextWriter.WriteStartElement(XML_LASTNAME_TAG)
'<Root><UserInfo><Name><LastName>
xmlTextWriter.WriteString(lastName) 'Запись значения
xmlTextWriter.WriteEndElement 'Закрыть дескриптор фамилии
'<Root><UserInfo><Name>
xmlTextWriter.WriteEndElement 'Закрыть дескриптор ФИО
'<Root><UserInfo>
'<Root><UserInfo>
xmlTextWriter.WriteStartElement(XML_USERID_TAG)
'<Root><UserInfo><UserID>
'Запись значения
xmlTextWriter.WriteString(userId.ToString)
xmlTextWriter.WriteEndElement 'Закрыть дескриптор UserID
Поделиться:
Популярные книги
Авиатор: назад в СССР
1. Авиатор
Фантастика:
попаданцы
альтернативная история
5.25
рейтинг книги
Неудержимый. Книга XXXVII
37. Неудержимый
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Библия
Религия и эзотерика:
религия
7.41
рейтинг книги
Мой муж – чудовище! Изгнанная жена дракона
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Иной. Том 3. Родственные связи
3. Иной в голове
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Диверсант
2. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
Эммануэль
1. Эммануэль
Любовные романы:
эро литература
7.38
рейтинг книги
Хроники Тириса. Книга 1
1. Хроники Тириса
Фантастика:
боевая фантастика
космическая фантастика
фантастика: прочее
6.00
рейтинг книги
По осколкам твоего сердца
2. Хулиган и новенькая
Любовные романы:
современные любовные романы
5.56
рейтинг книги
Гезат
22. Вечный капитан
Фантастика:
альтернативная история
5.25
рейтинг книги
Изыскатель
5. Травник
Фантастика:
фэнтези
7.00
рейтинг книги
Я до сих пор не князь. Книга XVI
16. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
На границе империй. Том 9. Часть 5
18. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга XXXV
35. Кодекс Охотника
Фантастика:
аниме
фэнтези
попаданцы
5.00