- •Тема 1 Колекції Структури даних
- •Неузагальнені колекції
- •Деякі інтерфейси неузагальнених колекцій
- •Деякі класи неузагальнених колекцій
- •Узагальнені колекції
- •Тема 2 Файловий ввід-вивід Організація файлового вводу-виводу
- •Байтовий ввід-вивід у файл
- •Двійковий ввід-вивід у файл
- •Символьний ввід-вивід у файл
- •Організація роботи із файлами даних стандарту xml
- •Простір імен System.Xml
- •Класи XmlNode та XmlLinkedNode
- •Клас XmlDeclaration
- •Класи XmlComment та XmlAttribute
- •Клас XmlElement
- •Клас XmlDocument
- •Приклад
- •Тема 3 Делегати та події Клас delegate
- •Делегати в якості параметрів
- •Анонімні методи та узагальнені делегати System.Action, System.Func
- •Комбіновані делегати та шаблон «спостерігач»
- •Події: створення та обробка
Простір імен System.Xml
У мові C# організація роботи із даними стандарту XML реалізується на основі використання класів простору імен System.Xml. Серед усього різноманіття класів цього простору імен обмежимось тільки розглядом наступних:
Клас |
Призначення |
XmlNode |
Представляє окремий вузол |
XmlLinkedNode |
Представляє впорядковану колекцію вузлів |
XmlDeclaration |
Представляє рядок декларації |
XmlComment |
Представляє коментар |
XmlAttribute |
Представляє атрибут |
XmlElement |
Представляє елемент |
XmlDocument |
Представляє XML-документ |
XmlTextReader |
Представляє засіб зчитування із файлів даних стандарту XML |
XmlTextWriter |
Представляє засіб запису у файли даних стандарту XML |
Класи XmlNode та XmlLinkedNode
Ці класи є базовими для класів XmlDeclaration, XmlComment, XmlDocument, XmlElement. Абстрактний клас XmlNode представляє окремий вузол XML-документа. Серед членів цього класу відмітимо тільки наступні:
Елемент класу XmlNode |
Призначення |
public virtual XmlAttributeCollection Attributes { get; } |
Повертає атрибути даного вузла у вигляді екземпляру колекції XmlAttributeCollection. |
public virtual XmlNodeList ChildNodes { get;} |
Повертає всі дочірні вузли для даного. |
public virtual XmlNode FirstChild { get; } |
Повертає перший дочірній вузол для даного вузла. |
public virtual XmlNode LastChild { get; } |
Повертає останній дочірній вузол для даного вузла. |
public virtual string InnerText { get; set; } |
Повертає або задає вміст даного вузла. |
public virtual string InnerXml { get; set; } |
Повертає або задає розмітку, яка представляє дочірні вузли даного вузла. |
public virtual XmlNode AppendChild(XmlNode newChild); |
Додає вказаний вузол у список дочірніх вузлів даного вузла. |
public virtual XmlNode InsertAfter(XmlNode newChild, XmlNode refChild); |
Вставляє заданий вузол newChild зразу після даного вузла refChild. |
public virtual XmlNode InsertBefore(XmlNode newChild, XmlNode refChild); |
Вставляє заданий вузол newChild зразу перед даним вузлом refChild. |
public virtual void RemoveAll(); |
Видаляє всі дочірні вузли і (або) атрибути поточного вузла. |
public virtual XmlNode RemoveChild(XmlNode oldChild); |
Видаляє вказаний дочірній вузол. |
public virtual XmlNode ReplaceChild(XmlNode newChild, XmlNode oldChild); |
Замінює дочірній вузол oldChild на вузол newChild. |
Абстрактний клас XmlLinkedNode є похідним від класу XmlNode та представляє XML-документ у вигляді впорядкованої колекції його вузлів. У цьому класі перевизначено всього дві успадковані властивості:
Елемент класу XmlLinkedNode |
Призначення |
public override XmlNode NextSibling { get; } |
Повертає наступний вузол у колекції після поточного. |
public override XmlNode PreviousSibling { get; } |
Повертає попередній вузол у колекції перед поточним. |
