Типы XML-узлов
Когда XML-документ считывается в память в виде дерева узлов, типы для узлов выбираются во время их создания. В модели XML DOM существует несколько типов узлов, определяемых консорциумом W3C и приведенных в разделе «1.1.1. Структурная модель DOM». В следующей таблице перечислены типы узлов, объекты, назначаемые каждому типу узла, и дано краткое описание типов.
Тип узла модели DOM | Object | Описание |
---|---|---|
Document | XmlDocument | Контейнер для всех узлов в дереве. Он также называется корнем документа, что не всегда совпадает с корневым элементом. |
DocumentFragment | XmlDocumentFragment | Временный контейнер, содержащий один или несколько узлов, не имеющих древовидной структуры. |
DocumentType; | XmlDocumentType | Представляет узел <!DOCTYPE…> . |
EntityReference | XmlEntityReference | Представляет текст нераскрытой ссылки на сущность. |
Элемент | XmlElement | Представляет узел элемента. |
Attr | XmlAttribute | Атрибут элемента. |
ProcessingInstruction; | XmlProcessingInstruction | Узел инструкций по обработке. |
Добавление примечаний | XmlComment | Узел комментария. |
Text | XmlText | Текст, принадлежащий элементу или атрибуту. |
CDATASection. | XmlCDataSection | Представляет CDATA. |
Объект | XmlEntity | Представляет декларации <!ENTITY…> в XML-документе, полученные из встроенного DTD или из внешних DTD и сущностей параметров. |
Notation | XmlNotation | Представляет нотацию, объявленную в DTD. |
Атрибут (attr) упомянут в числе узлов модели W3C DOM на уровне 1 в разделе "1.2. Фундаментальные интерфейсы", но не считается дочерним ни для какого узла элемента.
В следующей таблице представлены дополнительные типы узлов, которые не определены консорциумом W3C, но доступны для использования в модели объектов Microsoft .NET Framework в виде перечислений XmlNodeType. Таким образом, для этих типов узлов отсутствует соответствующий столбец типа узла в модели DOM.
Тип узла | Описание |
---|---|
XmlDeclaration | Представляет узел декларации <?xml version="1.0"…> . |
XmlSignificantWhitespace | Представляет значимые пробелы, то есть пробелы в смешанном содержимом. |
XmlWhitespace | Представляет пробелы в содержимом элемента. |
EndElement | Возвращается, когда модуль XmlReader достигает конца элемента. Пример XML: </item> Для получения дополнительной информации см. XmlNodeType. |
EndEntity | Возвращается, когда модуль XmlReader достигает конца замещения сущности в результате вызова метода ResolveEntity. Для получения дополнительной информации см. XmlNodeType. |
Пример кода, считывающего XML и использующего конструкцию case с типами узлов для вывода сведений об узле и его содержимом, см. в статье NodeType.
Дополнительные сведения об иерархии объектов для типов узлов с указанием имен эквивалентных объектов см. в статье Иерархия объектной модели (DOM) XML-документа. Дополнительные сведения об объектах, создаваемых в дереве узлов, см. в статье Сопоставление объектной иерархии с XML-данными.