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

>  New System.Xml.XmlDocument


> xmlDocument.Load(fileName)


> 'Получить корневой узел

> Dim rootElement As System.Xml.XmlElement

> rootElement = _

>  CType(xmlDocument.ChildNodes(0), System.Xml.XmlElement)


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

> 'ибо противное означает, что мы имеем дело с каким-то другим XML-файлом

> If (rootElement.Name <> XML_ROOT_TAG) Then

>  Throw New Exception("Тип корневого узла не совпадает с ожидаемым!")

> End If


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

> 'Простой конечный автомат для итеративного обхода всех узлов

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

> Dim childOf_RootNode As System.Xml.XmlElement

> For Each childOf_RootNode In _

>  rootElement.ChildNodes


>  'Если это узел UserInfo, то мы хотим просмотреть его содержимое

>  If (childOf_RootNode.Name = XML_USERINFO_TAG) Then

>   gotUserInfoData = True

>   'Пользовательские данные найдены


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

>   'Загрузить каждый из подэлементов

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

>   Dim child_UserDataNode As System.Xml.XmlElement

>   For Each child_UserDataNode In _

>    childOf_RootNode.ChildNodes

>    'Идентификатор пользователя (UserID)

>    If (child_UserDataNode.Name = XML_USERID_TAG) Then

>     userId = CInt(child_UserDataNode.InnerText)

>     'ФИО пользователя (UserName)

>    ElseIf (child_UserDataNode.Name = XML_NAMEINFO_TAG) Then

>     Dim child_Name As System.Xml.XmlElement

>      For Each child_Name In child_UserDataNode.ChildNodes

>      'Имя (FirstName)

>      If (child_Name.Name = XML_FIRSTNAME_TAG) Then

>       firstName = child_Name.InnerText

>       'Фамилия (LastName)

>      ElseIf (chi1d_Name.Name = XML_LASTNAME_TAG) Then

>       lastName = child_Name.InnerText

>      End If

>     Next 'Конец цикла разбора UserName

>    End If 'Конец оператора if, осуществляющего проверку UserName

>   Next 'Конец цикла разбора UserInfo

>  End If 'Конец оператора if, осуществляющего проверку UserInfo

> Next 'Конец цикла разбора корневого узла

> If (gotUserInfoData = False) Then

>  Throw New Exception("Данные пользователя в XML-документе не найдены!")

> End If

>End Sub

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

>'Сохраняет пользовательское состояние

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

>' [in] userId: Идентификатор пользователя, который мы хотим сохранить

>' [in] firstName: Имя пользователя, которое мы хотим сохранить

>' [in] lastName: Фамилия пользователя, которую мы хотим сохранить

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