
- •Тема 1 Колекції Структури даних
- •Неузагальнені колекції
- •Деякі інтерфейси неузагальнених колекцій
- •Деякі класи неузагальнених колекцій
- •Узагальнені колекції
- •Тема 2 Файловий ввід-вивід Організація файлового вводу-виводу
- •Байтовий ввід-вивід у файл
- •Двійковий ввід-вивід у файл
- •Символьний ввід-вивід у файл
- •Організація роботи із файлами даних стандарту xml
- •Простір імен System.Xml
- •Класи XmlNode та XmlLinkedNode
- •Клас XmlDeclaration
- •Класи XmlComment та XmlAttribute
- •Клас XmlElement
- •Клас XmlDocument
- •Приклад
- •Тема 3 Делегати та події Клас delegate
- •Делегати в якості параметрів
- •Анонімні методи та узагальнені делегати System.Action, System.Func
- •Комбіновані делегати та шаблон «спостерігач»
- •Події: створення та обробка
Приклад
Програмно сформувати наступний XML-документ із даними про ресурси бібліотеки УжНУ:
<?xml version= “1.0” encoding= “utf-8” standalone=“yes”?> <!--XML код даних, що містить інформацію про ресурси бібліотеки УжНУ--> <library> <title>Каталог книг бібліотеки УжНУ</title> <backlist> <book author= “Г.Шилдт” year=“2011”>C# 4.0: полное руководство</book> <book author= “А.П.Сергеев”>HTML и XML. Профессиональная работа</book> </backlist> </library> |
Зберегти сформований XML-документ у файлі “D:\library.xml”, а також вивести цей XML-документ на консоль. Програмно перевірити чи є у бібліотеці джерела заданого користувачем автора.
class Program { static void Main(string[] args) { // створюємо програмне представлення XML-документа XmlDocument doc = new XmlDocument(); // 1 спосіб як сформувати дані XML-документа XmlDeclaration declaration = doc.CreateXmlDeclaration("1.0", "utf-8", "yes"); doc.AppendChild(declaration); XmlComment Comment = doc.CreateComment("XML код даних, що містить інформацію про ресурси бібліотеки УжНУ"); doc.AppendChild(Comment); XmlElement library = doc.CreateElement("library"); doc.AppendChild(library); XmlElement title = doc.CreateElement("title"); title.InnerText = "Каталог книг бібліотеки УжНУ"; library.AppendChild(title); XmlElement backlist = doc.CreateElement("backlist"); library.AppendChild(backlist); // формуємо дані про перше джерело у каталозі бібліотеки XmlElement book = doc.CreateElement("book"); book.SetAttribute("author", "Г.Шилдт"); book.SetAttribute("year", "2011"); book.InnerText = "C# 4.0: полное руководство"; backlist.AppendChild(book); // формуємо дані про друге джерело у каталозі бібліотеки book = doc.CreateElement("book"); book.SetAttribute("author", "А.П.Сергеев"); book.InnerText = "HTML и XML. Профессиональная работа"; backlist.AppendChild(book); // 2 спосіб як сформувати дані XML-документа doc.LoadXml( "<?xml version= \"1.0\" encoding= \"utf-8\" standalone=\"yes\"?>" + "<!--XML код даних, що містить інформацію про ресурси бібліотеки УжНУ-->" + "<library>" + "<title>Каталог книг бібліотеки УжНУ</title>" + "<backlist>" + "<book author= \"Г.Шилдт\" year=\"2011\">C# 4.0: полное руководство</book>" + "<book author= \"А.П.Сергеев\">HTML и XML. Профессиональная работа</book>" + "</backlist>" + "</library>" ); // зберігаємо XML-документ у файлі “D:\library.xml” doc.Save(@"D:\library.xml"); // виводимо XML-документ на консоль doc.Save(Console.Out); // програмно перевіряємо чи є у бібліотеці задане користувачем джерело Console.WriteLine("Пошук за автором: "); string s = Console.ReadLine(); // формуємо колекцію всіх джерело бібліотеки XmlNodeList booklist = doc.GetElementsByTagName("book"); // якщо бібліотека не порожня :) if (booklist.Count != 0) { // перебираємо кожне джерело foreach (XmlElement b in booklist) // дивимось чи відповідає автор джерела заданому користувачем if (b.GetAttribute("book") == s) // якщо це автор, який задав користувач, то виводимо назву джерела Console.WriteLine(b.InnerText); } Console.ReadKey(); } } |