Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Прога - ответы2.docx
Скачиваний:
19
Добавлен:
23.04.2019
Размер:
206.38 Кб
Скачать

Работа с xml при помощи System.Xml

Пространство имен System.Xml содержит классы для работы с XML документами. Данные классы описывают различные аспекты XML-документов. Рассмотрим некоторые наиболее употребимые:

XmlNode

Обобщенный класс, представляющий собой узел структуры XML-дерева. Некоторые методы/свойства:

AppendChild()

Добавляет дочерний элемент к текущему

InsertAfter()

InsertBefore()

Добавляет дочерний элемент с указанием места вставки

RemoveChild()

Удаляет дочерний элемент

RemoveAll()

Удаляет все дочерние элементы

Attributes

Возвращает коллекцию атрибутов данного узла

ChildNodes

Возвращает коллекцию дочерних узлов данного узла

Name

Имя узла

NextSibling

PreviousSibling

Предыдущий/следующий сосед того же уровня в иерархии XML-дерева

Value

Содержимое узла (например, значение атрибута)

XmlDocument

Представляет XML-документ, используется для загрузки/сохранения документа, добавления/удаления элементов. Наследует от XmlNode

Некоторые методы/свойства:

Load()

Перегруженный метод, позволяющий загружать XML из файла, потока, с помошью XmlReader или TextReader

LoadXml()

Позволяет загружать XML из строки

Save()

Сохраняет документ

CreateElement()

CreateComment()

CreateAttribute()

Создает и возвращает соответствующий объект структуры XML. Элемент создается, однако в дерево XML-иерархии не добавляется

GetElementById()

Возвращает элемент с заданным значением атрибута id

GetElementsByTagName()

Возвращает коллекцию элементов с указанным именем тега

XmlElement

Представляет элемент структуры XML-документа. Наследует от XmlNode Некоторые методы/свойства:

SetAttribute()

Устанавливает значение атрибута

RemoveAttribute()

Удаляет атрибут

GetAttribute()

возвращет значение указанного атрибута

GetElementsByTagName()

Возвращает коллекцию дочерних элементов с указанным именем тега

HasAttributes

Проверяет наличие указанного атрибута

XmlAttribute

Представляет атрибут элемента структуры XML-документа. Наследует от XmlNode Большинство методов/свойств унаследованы от XmlNode

XmlComment

XML-комментарий. Наследует от XmlNode

XmlText

Текстовый элемент XML-документа.

Пример программы, создающей XML-документ

// Создать новый документ XML в памяти.

XmlDocument doc = new XmlDocument ();

// Заполнить документ корневым элементом по имени <recipe>.

XmlElement recipe = doc.CreateElement("recipe");

// Установим атрибуты

recipe.SetAttribute("name", "хлеб");

// Создадим подэлемент по имени <title>

XmlElement title = doc.CreateElement("title");

title.InnerText = "Простой хлеб";

// Создадим подэлементы <ingredient>

XmlElement ingredient0 = doc.CreateElement("ingredient");

ingredient0.InnerText = "Мука";

ingredient0.SetAttribute("amount", "3");

ingredient0.SetAttribute("unit", "стакан");

XmlElement ingredient1 = doc.CreateElement("ingredient");

ingredient1.InnerText = "Дрожжи";

ingredient1.SetAttribute("amount", "0.25");

ingredient1.SetAttribute("unit", "грамм");

// Создадим комментарий

XmlComment comment = doc.CreateComment("This is comment");

// Добавим подэлементы в элемент <recipe>

recipe.AppendChild(title);

recipe.AppendChild(ingredient0);

recipe.AppendChild(ingredient1);

recipe.AppendChild(comment);

// Вставим полный XML в объект XmlDocument и сохраним в файле

doc.AppendChild(recipe) ;

doc.Save ("Recipe.xml");