Чтение онлайн

на главную - закладки

Жанры

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

Салмре Иво

Шрифт:

}

default: {

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

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

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

System.Windows.Forms.MessageBox.Show("Встретился непредвиденный XML-тип " + xmlReader.Name);

break;

}

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

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

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

readSuccess = xmlReader.Read;

}

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

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

//мы считываем, что-то не так

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

finished_reading_wanted_data:

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

xmlReader.Close;

 }

 //--------------------------------------------------------

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

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

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

 //--------------------------------------------------------

 private static bool LoadHelper_EndElementEncountered(ref ReadLocation currentReadLocation) {

switch (currentReadLocation) {

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

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

case ReadLocation.inName: {

currentReadLocation = ReadLocation.inUserInfo;

break;

}

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

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

case ReadLocation.inFirstName: {

currentReadLocation = ReadLocation.inName;

break;

}

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

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

case ReadLocation.inLastName: {

currentReadLocation = ReadLocation.inName;

break;

}

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

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

case ReadLocation.inUserID: {

currentReadLocation = ReadLocation.inUserInfo;

break;

}

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

//закончили чтение данных в узлах UserID, FirstName

//и LastName.

//

//Можно выйти из цикла, поскольку у нас уже есть вся

//информация, которую мы хотели получить!

case ReadLocation.inUserInfo: {

return false; //Анализ должен быть прекращен

}

}

return true; //Продолжить анализ

 }

 private static void LoadHelper_NewElementEncountered(string nodeName,ref ReadLocation currentReadLocation) {

//------------------------------------------------------

//Мы вошли в новый элемент!

//

//B какое состояние переход возможен, зависит от того, в

//каком состоянии мы находимся в данный момент

//------------------------------------------------------

switch (currentReadLocation) {

//Если мы находимся в узле AllMyData, то переход возможен

//в узлы, которые указаны ниже

case (ReadLocation.inAllMyData): {

if (nodeName == XMI_USERINFO_TAG) {

currentReadLocation = ReadLocation.inUserInfo;

}

break;

}

//Если мы находимся в узле UserInfo, то переход возможен

//в узлы, которые указаны ниже

case (ReadLocation.inUserInfo): {

if (nodeName == XML_USERID_TAG) {

currentReadLocation = ReadLocation.inUserID;

} else if (nodeName == XML_NAMEINFO_TAG) {

currentReadLocation = ReadLocation.inName;

}

break;

}

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

//в узлы, которые указаны ниже

case (ReadLocation.inName): {

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

Алые перья стрел

Крапивин Владислав Петрович
Детские:
детские приключения
8.58
рейтинг книги
Алые перья стрел

Курсант: назад в СССР

Дамиров Рафаэль
1. Курсант
Фантастика:
попаданцы
альтернативная история
7.33
рейтинг книги
Курсант: назад в СССР

Человеческое познание его сферы и границы

Рассел Бертран Артур Уильям
Научно-образовательная:
философия
6.25
рейтинг книги
Человеческое познание его сферы и границы

Имперец. Том 1 и Том 2

Романов Михаил Яковлевич
1. Имперец
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Имперец. Том 1 и Том 2

Кодекс Охотника. Книга XXXVII

Винокуров Юрий
37. Кодекс Охотника
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга XXXVII

Эфемер

Прокофьев Роман Юрьевич
7. Стеллар
Фантастика:
боевая фантастика
рпг
7.23
рейтинг книги
Эфемер

Газлайтер. Том 27

Володин Григорий Григорьевич
27. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Газлайтер. Том 27

Вечный. Книга I

Рокотов Алексей
1. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Вечный. Книга I

Имперец. Том 3

Романов Михаил Яковлевич
2. Имперец
Фантастика:
боевая фантастика
попаданцы
альтернативная история
7.43
рейтинг книги
Имперец. Том 3

Точка Бифуркации

Смит Дейлор
1. ТБ
Фантастика:
боевая фантастика
7.33
рейтинг книги
Точка Бифуркации

Стеллар. Заклинатель

Прокофьев Роман Юрьевич
3. Стеллар
Фантастика:
боевая фантастика
8.40
рейтинг книги
Стеллар. Заклинатель

Ты - наша

Зайцева Мария
1. Наша
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Ты - наша

Бестужев. Служба Государевой Безопасности. Книга третья

Измайлов Сергей
3. Граф Бестужев
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Бестужев. Служба Государевой Безопасности. Книга третья

Эмиссар

Листратов Валерий
8. Ушедший Род
Фантастика:
боевая фантастика
аниме
попаданцы
7.50
рейтинг книги
Эмиссар