Вход/Регистрация
Программирование мобильных устройств на платформе .NET Compact Framework
вернуться

Салмре Иво

Шрифт:

userId = 0

firstName = ""

lastName = ""

'Предполагаем, что данные еще не загружены

Dim gotUserInfoData As Boolean = False

Dim xmlDocument As System.Xml.XmlDocument = _

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: Фамилия пользователя, которую мы хотим сохранить

'--------------------------------------------------------------------

Public Shared Sub XML_SaveUserInfo(ByVal fileName As String, _

  • Читать дальше
  • 1
  • ...
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: