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

Салмре Иво

Шрифт:

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

Case System.Xml.XmlNodeType.Text

Select Case currentReadLocation

Case ReadLocation.inFirstName

firstName = xmlReader.Value

Case ReadLocation.inLastName

lastName = xmlReader.Value

Case ReadLocation.inUserID

userId = CInt(xmlReader.Value)

End Select

'Конец оператора Case "System.Xml.XmlNodeType.Text"

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

'Вызывается, когда встречается конец

'элемента

'

'Мы можем захотеть переключить состояние в зависимости

'от вида покидаемого узла, чтобы указать на то, что

'собираемся вернуться назад к его предку

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

Case System.Xml.XmlNodeType.EndElement

Dim continueParsing As Boolean

continueParsing = LoadHelper_EndElementEncountered( _

currentReadLocation)

If (continueParsing = False) Then

GoTo finished_reading_wanted_data

End If

Case Else

'He страшно, если имеются XML-узлы других типов, но

'в нашем примере работы с XML-документом мы должны

'оповестить об этом факте

MsgBox( _

"Встретился непредвиденный XML-тип " + xmlReader.Name)

End Select 'Конец оператора Case, используемого для определения текущего

'типа XML-элeмeнтa, oбpaбaтывaeмoгo анализатором

'Перейти к следующему узлу

readSuccess = xmlReader.Read

 End While

 'Если мы оказались в этом месте программы, не покинув

 'XML-дескриптора UserInfo, то с XML-данными, которые мы считываем,

 'что-то не так

 Throw New Exception("He найден элемент UserInfo в XML-документе!")

finished reading_wanted_data:

 'Закрыть файл, поскольку работа с ним закончена!

 xmlReader.Close

End Sub

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

'Вспомогательный код, ответственный за принятие решения

'относительно того, в какое состояние необходимо перейти,

'когда встречается закрывающий дескриптор

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

Private Shared Function LoadHelper_EndElementEncountered( _

 ByRef currentReadLocation As ReadLocation) As Boolean

 Select Case (currentReadLocation)

 'Если мы покидаем узел Name, то должны вернуться

 'обратно в узел UserInfo

 Case ReadLocation.inName

currentReadLocation = ReadLocation.inUserInfo

 'Если мы покидаем узел FirstName, то должны вернуться

 'обратно в узел Name

 Case ReadLocation.inFirstName

currentReadLocation = ReadLocation.inName

 'Если мы покидаем узел LastName, то должны вернуться

 'обратно в узел Name

Case ReadLocation.inLastName

currentReadLocation = ReadLocation.inName

 'Если мы покидаем узел UserID, то должны вернуться

 'обратно в узел UserInfo

 Case ReadLocation.inUserID

currentReadLocation = ReadLocation.inUserInfo

 'Если мы покидаем узел UserInfo, то мы только что

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

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

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

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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