Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Витягання атрибутів за допомогою XmlReaderСодержание книги
Поиск на нашем сайте
У таблиці перелічені деякі властивості і методи для обробки атрибутів.
Для демонстрації цих можливостей додамо в XML-файл booknew.xml у елемент book атрибути: <?xml version="1.0" encoding="utf-8"?> <Catalog> <book genre="Программная інженерія" yearpublic="2006" > <title>Основы інженерії якості програмних систем</title> <author> <name>Коротун Т.М.</name> <name>Коваль Г.І.</name> </author> <price>120.00</price> </book> </Catalog>
Відкриємо попередній проект WINDOWS-XML. Додамо на форму ще одну кнопку для витягання атрибутів з елементу book. У обробник кнопки вставимо код: private void btnAttr_Click(object sender, EventArgs e) { //витягання атрибутів з елементу richTextBox1.Clear(); XmlReader rdr = XmlReader.Create("booknew.xml"); //читання вузлів while (rdr.Read()) { //перевірити, чи не є він вузлом if (rdr.NodeType == XmlNodeType.Element) { //Якщо це елемент, перевірить його атрибути for (int i = 0; i < rdr.AttributeCount; i++) { richTextBox1.AppendText(rdr.GetAttribute(i) + "\r\n"); } }
} rdr.Close();
} Вставка атрибутів в документ за допомогою XmlWriter Додамо на форму кнопку WriteAttributes. Обробник кнопки створює новий файл booknew.xml, у якому розміщується документ Catalog, що складається з одного вкладеного елементу book. У елементі book є два атрибути "genre" і "yearpublic". Метод WriteAttributeString() додає атрибут до елементу. private void btmWriteAtt_Click(object sender, EventArgs e) { // запис у файл з атрибутами XmlWriterSettings setting = new XmlWriterSettings(); setting.Indent = true; string fname = "booknew.xml"; XmlTextWriter writer = new XmlTextWriter(fname, null); writer.Formatting = Formatting.Indented; writer.WriteStartDocument(); //початок створення єлементов writer.WriteStartElement("Catalog"); writer.WriteStartElement("book"); writer.WriteAttributeString("genre", "Програмна інженерія"); writer.WriteAttributeString("yearpublic", "2006"); writer.WriteElementString("title", "Основи інженерії якості програмних систем"); writer.WriteStartElement("author"); writer.WriteElementString("name", "Коротун Т.М."); writer.WriteElementString("name", "Коваль Г.І."); writer.WriteEndElement(); writer.WriteElementString("price", "120.00"); writer.WriteEndElement(); writer.WriteEndElement(); writer.WriteEndDocument(); //Очищення потоку writer.Flush(); writer.Close(); } В результаті буде створений файл booknew.xml, що містить опис книги. Інший спосіб додавання і витягання атрибутів – викорстання моделі DOM (клас XmlDocument). Висновки Класи C# забезпечують різні способи обробки Xml-документів. Окрім розглянутих в лекції, в.NetFramework є класи для створення схем документів, перевірки документів на відповідність схемі, пошук інформації по вмісту(XPath і XslTransform), обробку запитів, взаємодію з базою даних.
Лекція 11. Елементи функціонального програмування в C#
План 1. Елементи функціонального програмування в C# 2. Делегати 3. Лямбда-вирази і лямбда-функції
11.1. Елементи функціонального програмування в C# Навіть з назви «Функціональне програмування» ясно, що основний наголос в ньому робиться на функції (у математичному сенсі), тобто, y=f(x). Функціональне обчислення – функція (або якщо бути точніше – «чиста функція», pure function) – повинна приймати деякі аргументи (вхідні дані) на вході, виконувати обчислення і повертати деякий результат. При цьому функція не повинна створювати жодних побічних ефектів. Під побічними ефектами розуміється можливість функції: 1. Змінювати глобальні (статичні в термінах C#) змінні. 2. Викликати інші функції, які можуть створити побічний ефект. 3. Займатися будь-яким введенням/виведенням усередині функції. 4. Посилати або приймати деякі повідомлення. По суті, пункти 2-4 є різновидами одного і того ж – зміна стану за допомогою виклику. Таким чином, функція не має права робити нічого, що могло б змінити стан чого б то не було (наприклад, змінних в пам'яті). Все, що може робити функція – це виконувати обчислення і видавати результат. Програмування у функціональному стилі дозволяє зробити код коротше і безпечніше. C# не є повністю мовою функціонального програмування, але містить елементи, що дозволяють писати програми у функціональному стилі. До основних елементів функціонального програмування, підтримуваних в C#, можна віднести: делегати, лямбда-вирази і дерева виразів, а також нова інтегрована мова запитів Language Integrated Query (LINQ).
Делегати Делегати в C# є аналогом посилання на функцію в C++. Сама по собі функція (метод) або її ім'я не є чимось, чим можна було б маніпулювати, але якщо помістити її делегат, з'явиться можливість посилатися на неї, а значить передавати в інші функції і повертати функції з інших функцій. Таким чином, можна сказати, що делегати є аналогами функціональних типів в мовах функціонального програмування.
|
||||||||||||||
Последнее изменение этой страницы: 2017-02-21; просмотров: 245; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 13.59.116.142 (0.005 с.) |