Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kursovaya (1).doc
Скачиваний:
25
Добавлен:
10.02.2016
Размер:
846.34 Кб
Скачать

2.2.2 Обработка данных xml

Данные XML – файла читаются и добавляются с помощью DataGridView. Посредством файлового диалогового окна пользователь может выбирать дисковод и просматривать файловую систему для выбора нужного файла. Все что должно возвращать это диалоговое окно — имя файла, определенное пользователем. Класс OpenFileDialog позволяет пользователям выбирать файл, который требуется открыть, по имени. И наоборот, класс SaveFileDial од позволяет пользователям указывать имя файла, который требуется сохранить.

Класс OpenFileDialog позволяет пользователям выбирать файл для открытия. Новый экземпляр класса OpenFileDialog создается до вызова метода ShowDialog ():

2.3 Пример работы XML разработчика

При запуске программы отображается окно:

Рис.1 – Общий вид XML обработчика

Чтобы добавить новые элементы, необходимо пройти в меню «Файл» и нажать на кнопку «Открыть».

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

Рис.2 – Открытие файла

При нажатии кнопки «Поиск» программа будет выглядеть:

Рис.3 – Поиск по файлу

2.4 Разработка редактора

Текстовое поле редактора основано на элементе ввода данных textBox1. Обработка текста идет при помощи регулярных выражений.

Регулярные выражения  — это формальный язык поиска и осуществления манипуляций с подстроками в тексте, основанный на использовании метасимволов (символов-джокеров, англ. Wildcard characters). По сути это строка-образец (англ. pattern, по-русски её часто называют «шаблоном», «маской»), состоящая из символов и метасимволов и задающая правило поиска.

Основным строительным блоком регулярных выражений является одно символьный шаблон. Он соответствует просто этому символу. Символы могут быть сгруппированы вместе в класс. Класс представляется как пара из открывающей и закрывающей квадратных скобок и списка символов между ними. Класс представляет собой также одно символьный шаблон. Один и только один из этих символов должен присутствовать в тексте, который совпадет с шаблоном. На пример: [abc] .

Для работы с регулярными выражениями в C# предусмотрен класс System.Text.RegularExpressions.Regex. Структура регулярных выражения полностью аналогична регулярным выражениям, используемым в PHP. Для выполнения поиска по строке, замены, или выделения некоторых блоков используются различные методы ранее упомянутого класса. Текст регулярного выражения передается в конструктор Regex'a (хотя это не обязательно, ибо его можно передать и непосредственно в нужный Вам метод).

Для проверки того, подходит-ли строка под регулярное выражение используется метод Regex.IsMatch (), возвращающий true если текст подходит под регулярное выражение и false если нет. Его конструктор может принимать следующие наборы данных:

IsMatch(stringinput, intstartat)

Здесь input — обрабатываемая строка, а startat — позиция в строке, с которой следует начинать поиск. Применяется регулярное выражение, ранее переданное в конструктор класса Regex.

Для замены текста с помощью регулярынх выражений используется метод Regex.Replace (), возвращающий string-строку с измененным текстом. Основные способы передачи данных вего конструктор:

Replace(stringinput, stringpattern, stringreplacement)

Здесь input — обрабатываемая строка, pattern — текст регулярного выражения, а replacement — текст, на который надо заменить найденные области.

Для разбиения строки на части используется метод Regex.Split (), который возвращает массив строк (string[]) с частями исходной строки. Основные способы передачи данных в конструктор:

Split(stringinput, stringpattern)

Разбивает строку input на части, описанные в регулярном выражении pattern.

Для поиска совпадений используется метод Regex.Matches (). Этот метод возвращает массив класса MatchCollection, содержащий найденные совпадения и ряд другой информации.

Доступ к найденному тексту производится с помощью конструкции match[i].Value. Получить количество найденных совпадений можно из свойства match.Count.

Конструкторы класса:

Matches(string input, string pattern)

input — обрабатываемый текст, pattern — текст регулярного выражения.

2.5 Пример работы редактора текста

Ниже представлен пример работы с текстовым редактором, проверка в котором основана на регулярных выражениях.

Рис.4 – Текст перед изменением

Через регулярные выражения, e-mail заключается в круглые скобки, по нажатию кнопки “e-mail”.

Рис.5 – Текст после изменения

2.6 Руководство пользователя

Программа состоит из двух подпрограмм – подпрограммы обработки XML документа и подпрограммы текстового редактора. Обе подпрограммы могут использоваться независимо друг от друга.

Для использования обработчика XML запускаем программу и выбираем xml-файл для открытия. Для добавления новых элементов указываем их параметры в соответствующих текстовых полях и нажимаем кнопку. Для удаления элементов просто выделаем поля и удаляем записи в ручную. Чтобы сохранить все внесенные изменения нажимаем на кнопку «Сохранить» и указываем необходимое имя файлу.

Текстовый редактор вызывается при нажатии на кнопку «Редактор» в главной форме приложения. При этом открывается отдельное окно, в текстовом поле которого мы можем писать пользовательский текст. Исправлять текст на основе регулярных выражений можно доступными в форме кнопками.

ВЫВОДЫ

В данной курсовой работе реализована программа-обработчик для работы с XML файлом и его данными. Данная программа подключает данные каталога фильмов из xml-файла и выполняет над ними простейшие действия : поиск в данных, добавление и удаление фотографии в магазин. Кроме того, через данную программу возможно открывать любой xml-файл, а также реализован простейший текстовый редактор с возможностью исправления грамматических ошибок на основе регулярных выражений.

Результатом выполнения данной курсовой работы стало получение практических навыков работы с текстовыми данными различного формата: как языка разметки XML, так и текстового редактора с грамматическим исправлением по регулярным выражениям. Полученные навыки в наше время очень актуальны, т.к. курсовая работа выполнялась на популярном языке программирования высокого уровня C# платформы .NET , а используемые методы обработки данных широко используются в различных целях.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]