Имя классаОписание
XmlLinkedNodeРасширяет XmlNode. Возвращает узел непосредственно перед или после текущего узла. Добавляет свойства NextSibling и PreviousSibling в XmlNode.
XmlDocumentРасширяет XmlNode. Представляет весь документ. Реализует спецификации DOM Level 1 и Level 2.
XmlAttributeРасширяет XmlNode. Объект атрибута объекта XmlElement.
XmlCDataSectionРасширяет XmlCharacterData. Объект, который представляет раздел документа CData.
XmlCharacterDataАбстрактный класс, который предоставляет методы манипуляции с текстом для других классов. Расширяет XmlLinkedNode.
XmlCommentРасширяет XmlCharacterData. Представляет объект комментария XML.
XmlDeclarationРасширяет XmlLinkedNode. Представляет узел объявления ()
XmlDocumentFragmentРасширяет XmlNode. Представляет фрагмент дерева документа.
XmlDocumentTypeРасширяет XmlLinkedNode. Данные, связанные с объявлением типа документа.
XmlElementРасширяет XmlLinkedNode. Объект элемента XML.
XmlEntityРасширяет XmlNode. Синтаксически разобранный или неразобранный узел сущности.
XmlEntityReferenceNodeРасширяет XmlLinkedNode. Представляет ссылочный узел сущности
XmlNotationРасширяет XmlNode. Содержит нотацию, объявленную в DTD или в схеме.
XmlProcessingInstructionРасширяет XmlLinkedNode. Содержит инструкцию обработки XML.
XmlSignificantWhitespaceРасширяет XmlCharacterData. Представляет узел с разделителем. Узлы создаются, только если флаг PreserveWhiteSpace задан как true.
XmlWhitespaceРасширяет XmlCharacterData. Представляет разделитель в содержимом элемента. Узлы создаются, только если флаг PreserveWhiteSpace задан как true.
XmlTextРасширяет XmlCharacterData. Текстовое содержимое элемента или атрибута.

Как можно видеть .NET делает доступным класс, соответствующий почти любому типу XML. Мы не будем рассматривать каждый класс подробно, но разберем несколько примеров. Вот как выглядит диаграмма наследования:

Первый пример будет создавать объект XmlDocument, загружать документ с диска и загружать окно списка с данными из элементов title. Это аналогично одному из примеров, которые были выполнены в разделе XmlReader. Отличие заключается в том, что осуществляется выбор, с какими узлами мы хотим работать, вместо того чтобы использовать весь документ. Вот код для выполнения этого в среде XmlNode. Посмотрите, как просто он выглядит при сравнении (файл можно найти в папке DOMSample1 загруженного архива):

private void button1_Click(object sender. System.EventArgs e) {

 // doc объявлен на уровне модуля

 // изменить путь доступа в соответствии со структурой путей доступа

 doc.Load("..\\..\\..\\books.xml")

 // получить только те узлы, которые нужны

 XmlNodeList nodeLst=doc.GetElementsByTagName("title");

 // итерации по списку XmlNodeList

 foreach(XmlNode node in nodeLst) listBox1.Items.Add(node, InnerText);

}

Обратите внимание, что мы добавили следующее объявление на уровне модуля:

private XmlDocument doc=new XmlDocument;

Перейти на страницу:

Похожие книги