The DOM presents a document as a hierarchy of node objects.
Try it Yourself - Examples
The examples below use the XML file books.xml.
Display nodeName and nodeType of all elements
Display nodeName and nodeValue of all elements
Node Types
The following table lists the different W3C node types, and which node types they may have as children:
Node Type | Description | Children |
---|---|---|
Document | Represents the entire document (the root-node of the DOM tree) | Element (max. one), ProcessingInstruction, Comment, DocumentType |
DocumentFragment | Represents a "lightweight" Document object, which can hold a portion of a document | Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference |
DocumentType | Provides an interface to the entities defined for the document | None |
ProcessingInstruction | Represents a processing instruction | None |
EntityReference | Represents an entity reference | Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference |
Element | Represents an element | Element, Text, Comment, ProcessingInstruction, CDATASection, EntityReference |
Attr | Represents an attribute | Text, EntityReference |
Text | Represents textual content in an element or attribute | None |
CDATASection | Represents a CDATA section in a document (text that will NOT be parsed by a parser) | None |
Comment | Represents a comment | None |
Entity | Represents an entity | Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference |
Notation | Represents a notation declared in the DTD | None |
Node Types - Return Values
The following table lists what the nodeName and the nodeValue properties will return for each node type:
Node Type | nodeName returns | nodeValue returns |
---|---|---|
Document | #document | null |
DocumentFragment | #document fragment | null |
DocumentType | doctype name | null |
EntityReference | entity reference name | null |
Element | element name | null |
Attr | attribute name | attribute value |
ProcessingInstruction | target | content of node |
Comment | #comment | comment text |
Text | #text | content of node |
CDATASection | #cdata-section | content of node |
Entity | entity name | null |
Notation | notation name | null |
NodeTypes - Named Constants
NodeType | Named Constant |
---|---|
1 | ELEMENT_NODE |
2 | ATTRIBUTE_NODE |
3 | TEXT_NODE |
4 | CDATA_SECTION_NODE |
5 | ENTITY_REFERENCE_NODE |
6 | ENTITY_NODE |
7 | PROCESSING_INSTRUCTION_NODE |
8 | COMMENT_NODE |
9 | DOCUMENT_NODE |
10 | DOCUMENT_TYPE_NODE |
11 | DOCUMENT_FRAGMENT_NODE |
12 | NOTATION_NODE |