Have you gone through this - What's the difference between an element and a node in XML?
A node is the basic datatype in a DOM - a node can include element, document etc.
According to the DOM, everything in an XML document is a node.
The DOM says:
The entire document is a document node.
Every XML element is an element node.
The text in the XML elements are text nodes.
Every attribute is an attribute node.
Comments are comment nodes.
From w3.org:
Node:
The Node interface is the primary datatype for the entire Document Object Model. It represents a single node in the document tree. While all objects implementing the Node interface expose methods for dealing with children, not all objects implementing the Node interface may have children. For example, Text nodes may not have children, and adding children to such nodes results in a DOMException being raised.
Element:
The Element interface represents an element in an HTML or XML document. Elements may have attributes associated with them; since the Element interface inherits from Node, the generic Node interface attribute attributes may be used to retrieve the set of all attributes for an element. There are methods on the Element interface to retrieve either an Attr object by name or an attribute value by name. In XML, where an attribute value may contain entity references, an Attr object should be retrieved to examine the possibly fairly complex sub-tree representing the attribute value. On the other hand, in HTML, where all attributes have simple string values, methods to directly access an attribute value can safely be used as a convenience.
Read this as well - w3schools node types.