This documentation is archived and is not being maintained.

Types of XML Nodes

When an XML document is read into memory as a tree of nodes, the node type for the nodes are decided when the nodes are created. The XML DOM has several kinds of node types, determined by the W3C and listed in section 1.1.1 The DOM Structure Model. The following table lists the node types, the object assigned to that node type, and a short description of each.

DOM Node TypeObject Description
DocumentXmlDocument ClassThe container of all the nodes in the tree. It is also known as the document root, which is not always the same as the root element.
DocumentFragmentXmlDocumentFragment ClassA temporary bag containing one or more nodes without any tree structure.
DocumentTypeXmlDocumentType ClassRepresents the <!DOCTYPE...> node.
EntityReferenceXmlEntityReference ClassRepresents the non-expanded entity reference text.
ElementXmlElement ClassRepresents an element node.
AttrXmlAttribute ClassIs an attribute of an element.
ProcessingInstructionXmlProcessingInstruction ClassIs a processing instruction node.
CommentXmlComment ClassA comment node.
TextXmlText ClassText belonging to an element or attribute.
CDATASectionXmlCDataSection ClassRepresents CDATA.
EntityXmlEntity ClassRepresents the <!ENTITY...> declarations in an XML document, either from an internal document type definition (DTD) subset or from external DTDs and parameter entities.
NotationXmlNotation ClassRepresents a notation declared in the DTD.

Even though an attribute (attr) is listed in the W3C DOM Level 1 section 1.2 Fundamental Interfaces as a node, it is not considered a child of any element node.

The following table shows additional node types not defined by the W3C, however they are available for use in the .NET object model as XmlNodeType enumerations. Therefore, there is no matching DOM Node Type column for these node types.

Node TypeDescription
XmlDeclarationRepresents the declaration node <?xml version="1.0"...>.
XmlSignificantWhitespaceRepresents significant white space, which is white space in mixed content.
XmlWhitespaceRepresents the white space in the content of an element.
EndElementReturned when XmlReader gets to the end of an element.

Example XML: </item>

For more information, see XmlNodeType Enumeration.

EndEntityReturned when XmlReader gets to the end of the entity replacement as a result of a call to ResolveEntity. For more information, see XmlNodeType Enumeration.

To view a code example that reads in XML and uses a case construct on the node types to print information about the node and its contents, see XmlSignificantWhitespace.NodeType Property.

For more information on the object hierarchy of the node types and their equivalent object name, see XML Document Object Model (DOM) Hierarchy. For more information on the objects created in the node tree, see Mapping the Object Hierarchy to tXML Data.

See Also

XML Document Object Model (DOM)