The Node object is the basic datatype of the whole Document Object Model, and represents a single node in the document tree. Note that not all node types may have children even though methods to deal with them are available. For a list of all node types and any child node types they may have, see the
DOM Structure Model.
Node Types
Below is a list of the valid node types and their enumeration. It is
this number that is returned by the nodeType property.
| Type | nodeName | nodeValue |
|---|---|---|
| Element | tagName | null |
| Attr | name of attribute | value of attribute |
| Text | #text | content of text node |
| CDATASection | #cdata-section | content of CDATA section |
| EntityReference | name of entity referenced | null |
| Entity | entity name | null |
| ProcessingInstruction | target | entire content excluding target |
| Comment | #comment | content of the comment |
| Document | #document | null |
| DocumentType | document type name | null |
| DocumentFragment | #document-fragment | null |
| Notation | notation name | null |
var xml_doc = new
ActiveXObject("Microsoft.XMLDOM");
xml_doc.async = false;
xml_doc.load("states.xml");
var current_node = xml_doc.documentElement.childNodes.item(0)
document.write(current_node.xml);Florida TallahasseeMicrosoft's XMLDOMNode object extends the core XML DOM node interface with support for data types, namespaces, DTDs, and schemas. To demonstrate how it might be used we shall use a simple XML document called 'states.xml' which looks like this:
<States>
<State ref="FL">
<name>Florida</name>
<capital>Tallahassee</capital>
</State>
<State ref="IA">
<name>Iowa</name>
<capital>Des Moines</capital>
</State>
</States>
We will now load the XML file and create a Node object called 'current_node' out of the first child node of the root (i.e. the first State). Then we will write the xml for that node to the HTML file.
Syntax: node.attributes
This is a read-only property that returns a NamedNodeMap for nodes that can have attributes.
Syntax: document.basename
This is a read-only property that returns the base name for a node.
Syntax: node.childNodes
This is a read-only property containing a node list of all children for those elements that can have them.
Syntax: node.dataType
This is a read-only property that specifies the data type for the node.
Syntax: node.definition
This property returns the definition of the node in the DTD or schema.
Syntax: node.firstChild
This is a read-only property that returns the first child node of a node. If there is none, it returns null.
Syntax: node.lastChild
This is a read-only property that returns the last child node of a node. If there is none, it returns null.
Syntax: object.namespaceURI
This property is read-only and returns the URI (Universal Resource Indentifier) of the namespace.
Syntax: node.nextSibling
This property returns the next node in the parent's child list, or null if there is none or the node is of a type that cannot be a child node (Attr, Document, DocumentFragment).
Syntax: node.nodeName
This property is read-only and contains the name of the node, depending on type.
Syntax: node.nodeType
This property is read-only and contains the name of the node, depending on type.
Syntax: node.nodeTypedValue
This property contains the value of this node expressed in its defined data type.
Syntax: node.nodeTypeString
This property is read-only and returns the node type in string form.
Syntax: node.nodeValue
This property contains the value of the node, depending on type.
Syntax: node.ownerDocument
This property returns the Document object to which the node belongs. If the node itself is a document, then it returns null.
Syntax: node.parentNode
This is a read-only property that returns the parent node of all nodes except Document, DocumentFragment and Attr, which cannot have parent nodes.
Syntax: node.parsed
This property returns a boolean value of true if this node and all of its descendants have been parsed and instantiated. Otherwise it returns false.
Syntax: object.prefix
Property This property is read-only and returns the namespace prefix, or an empty string if none is specified. For example, it would return 'xxx' for the element xxx:yyy.
Syntax: node.previousSibling
This property returns the previous node in the parent's child list, or null if there is none or the node is of a type that cannot be an child node (Attr, Document, DocumentFragment).
Syntax: node.specified
This property returns a boolean value which indicates whether or not this attribute has a value specified in the XML document.
Syntax: node.text
This property contains the text content of this node and its subtrees.
Syntax: node.xml
This property contains the XML representation of this node and its descendants.
Syntax: node.appendChild(tagName)
This method appends a new child node to the list of children for this node.
Syntax: node.cloneNode(deep)
This method creates a clone node which is an exact replica of this node.
Syntax: node.hasChildNodes
This method is a convenient way to determine whether a node has child nodes, returning true if it has, and false if not.
Syntax: node.insertBefore(newChild, refChild)
This method is used to insert a new child node before an existing one. If no child node exists, the new child node becomes the first.
Syntax: node.removeChild(oldChild)
This method removes the specified node from the list of children and returns it.
Syntax: node.replaceChild(newChild, oldChild)
This method is used to replace one of a node's children with another. It returns the old child.
Syntax: node.selectNodes(patternString)
This method creates a NodeList of all matching descendant nodes returned by the specified pattern-matching operation.
Syntax: node.selectSingleNode(patternString)
This method returns an object for the first descendant node to match the specified pattern.
Syntax: node.transformNode(stylesheet)
This method processes this node and its descendants using the specified XSL stylesheet, and returns the resulting transformation.
Syntax: node.transformNodeToObject(stylesheet, outputObject)
This method processes this node and its descendants using the specified XSL stylesheet, and returns the resulting transformation in the specified object.