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