Программирование мобильных устройств на платформе .NET Compact Framework (Салмре) - страница 552

> '

> xmlTextWriter.WriteString(firstName) 'Запись значения

> xmlTextWriter.WriteEndElement() 'Закрыть дескриптор имени

> '

> xmlTextWriter.WriteStartElement(XML_LASTNAME_TAG)

> '

> xmlTextWriter.WriteString(lastName) 'Запись значения

> xmlTextWriter.WriteEndElement() 'Закрыть дескриптор фамилии

> '

> xmlTextWriter.WriteEndElement() 'Закрыть дескриптор ФИО

> '


> '

> xmlTextWriter.WriteStartElement(XML_USERID_TAG)

> '


> 'Запись значения

> xmlTextWriter.WriteString(userId.ToString())

> xmlTextWriter.WriteEndElement() 'Закрыть дескриптор UserID

> '


> xmlTextWriter.WriteEndElement()

> 'Закрыть дескриптор UserInfo

> '


> xmlTextWriter.WriteEndElement() 'Закрыть дескриптор документа

> xmlTextWriter.Close()

>End Sub


>'--------------------------------------------------------------

>'Загружает пользовательское состояние

>' [in] fileName: Имя файла, используемого для сохранения данных

>' [out] userId: Загруженный идентификатор пользователя

>' [out] firstName: Загруженное имя пользователя

>' [out] lastName: Загруженная фамилия пользователя

>'--------------------------------------------------------------

>Public Shared Sub XML_LoadUserInfo(ByVal fileName As String, _

> ByRef userId As Integer, ByRef firstName As String, _

> ByRef lastName As String)


> Dim currentReadLocation As ReadLocation

> 'Начинаем с нулевых значении

> userId = 0

> firstName = ""

> lastName = ""


> Dim xmlReader As System.Xml.XmlTextReader = _

>  New System.Xml.XmlTextReader(fileName)


> xmlReader.WhitespaceHandling = _

>  System.Xml.WhitespaceHandling.None


> Dim readSuccess As Boolean

> readSuccess = xmlReader.Read()

> If (readSuccess = False) Then

>  Throw New System.Exception("Отсутствуют XML-данные для чтения!")

> End If


> 'Убедиться в том, что мы распознали корневой дескриптор

> If (xmlReader.Name <> XML_ROOT_TAG) Then

>  Throw New System.Exception( _

>   "Корневой дескриптор отличается от ожидаемого!")

> End If


> 'Отметить текущее местоположение в документе

> currentReadLocation = ReadLocation.inAllMyData


> '------------------------------------------------------

> 'Цикл прохождения документа и чтение необходимых данных

> '------------------------------------------------------

> While (readSuccess)

>  Select Case (xmlReader.NodeType)

>  'Вызывается при входе в новый элемент

>  Case System.Xml.XmlNodeType.Element

>   Dim nodeName As String = xmlReader.Name

>   LoadHelper_NewElementEncountered(nodeName, _

>    currentReadLocation)


>   '--------------------------------------------------