Replaces the specified old child node with the supplied new child node.
var objXMLDOMNode = oXMLDOMNode.replaceChild(newChild, oldChild);
An object. Returns the old child that is replaced.
The following example creates a new IXMLDOMNode
object, newElem
, and replaces the specified child node with newElem
.
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.5.0"); var root; var newElem; xmlDoc.async = false; xmlDoc.load("books.xml"); if (xmlDoc.parseError.errorCode <> 0) { var myErr = xmlDoc.parseError; alert("You have error " + myErr.reason); } else { root = xmlDoc.documentElement; newElem = xmlDoc.createElement("PAGES"); root.childNodes.item(1).replaceChild(newElem, root.childNodes.item(1).childNodes.item(0)); alert(root.childNodes.item(1).xml); }
Set objXMLDOMNode = oXMLDOMNode.replaceChild(newChild, oldChild)
oldChild
parameter is removed without a replacement.An object. Returns the old child that is replaced.
The following Microsoft® Visual Basic® example creates a new IXMLDOMNode
object, newElem
, and replaces the specified child node with newElem
.
Dim xmlDoc As New Msxml2.DOMDocument50 Dim root As IXMLDOMElement Dim newElem As IXMLDOMElement xmlDoc.async = False xmlDoc.Load ("books.xml") If (xmlDoc.parseError.errorCode <> 0) Then Dim myErr Set myErr = xmlDoc.parseError MsgBox("You have error " & myErr.reason) Else Set root = xmlDoc.documentElement Set newElem = xmlDoc.createElement("PAGES") root.childNodes.Item(1).replaceChild newElem, root.childNodes.Item(1).childNodes.Item(0) MsgBox root.childNodes.Item(1).xml End If
HRESULT replaceChild( IXMLDOMNode *newChild, IXMLDOMNode *oldChild, IXMLDOMNode **outOldChild);
oldChild
parameter is removed without a replacement.newChild
node cannot be inserted as a child of this node, when the specified oldChild
is not a child of this node, or if the oldChild
parameter is Null.This operation depends on the value of the nodeType
property.
This operation depends on the value of the newChild
parameter:
NODE_ATTRIBUTE , NODE_CDATA_SECTION , NODE_COMMENT , NODE_DOCUMENT , NODE_DOCUMENT_TYPE , NODE_ELEMENT , NODE_ENTITY , NODE_NOTATION , NODE_PROCESSING_INSTRUCTION |
Returns an error. These node types cannot be children of an attribute. |
NODE_DOCUMENT_FRAGMENT |
Replaces oldChild with the children of the document fragment in newChild and returns oldChild . |
NODE_ENTITY_REFERENCE , NODE_TEXT |
Replaces the specified oldChild with the supplied newChild and returns oldChild . |
NODE_CDATA_SECTION , NODE_COMMENT , NODE_ENTITY, NODE_NOTATION , NODE_PROCESSING_INSTRUCTION , NODE_TEXT |
Returns an error. These node types either cannot have children or their children are read-only. |
This operation depends on the value of the newChild
parameter.
NODE_ATTRIBUTE , NODE_CDATA_SECTION , NODE_DOCUMENT , NODE_ENTITY , NODE_ENTITY_REFERENCE , NODE_NOTATION , NODE_TEXT |
Returns an error. These nodes are not valid as children of a document node. |
NODE_COMMENT , NODE_PROCESSING_INSTRUCTION |
Replaces the specified oldChild with the supplied newChild and returns oldChild . |
NODE_DOCUMENT_TYPE , NODE_ELEMENT |
Replaces oldChild with newChild and returns oldChild . By definition, an XML document (the document node) can have only a single child. Therefore, an error is returned if the document node already has a child. |
NODE_DOCUMENT_FRAGMENT |
Replaces the specified oldChild with the children of the document fragment (newChild ) and returns oldChild . The insert operations are subject to the rules for child nodes and can fail if the document fragment children represent node types that cannot be inserted. |
NODE_DOCUMENT_TYPE |
Returns an error. The document type is read-only. |
This operation depends on the value of the newChild
parameter.
NODE_ATTRIBUTE , NODE_DOCUMENT , NODE_DOCUMENT_TYPE |
Returns an error. These nodes types are not valid as children of a document fragment. |
NODE_CDATA_SECTION , NODE_COMMENT , NODE_ELEMENT , NODE_ENTITY_REFERENCE , NODE_PROCESSING_INSTRUCTION , NODE_TEXT |
Replaces the specified oldChild with the supplied newChild and returns oldChild . |
NODE_DOCUMENT_FRAGMENT |
Replaces the specified oldChild with the children of the document fragment (newChild ) and returns oldChild . The insert operations are subject to the rules for child nodes and can fail if the document fragment children represent node types that cannot be inserted. |
NODE_ENTITY, NODE_NOTATION |
Returns an error. Entities and notations are read-only and cannot be inserted into a document. |
This operation depends on the value of the newChild
parameter.
NODE_CDATA_SECTION , NODE_COMMENT , NODE_ELEMENT , NODE_ENTITY_REFERENCE , NODE_TEXT , NODE_PROCESSING_INSTRUCTION |
Replaces the specified oldChild with newChild and returns oldChild . |
NODE_ATTRIBUTE , NODE_DOCUMENT , NODE_DOCUMENT_TYPE , NODE_ENTITY , NODE_NOTATION |
Returns an error. These node types cannot be children of an element node. |
NODE_DOCUMENT_FRAGMENT |
Replaces the specified oldChild with the children of the document fragment (newChild ) and returns oldChild . The insert operations are subject to the rules for child nodes and can fail if the document fragment children represent node types that cannot be inserted. |
NODE_ENTITY_REFERENCE |
Returns an error. Although the child nodes of an entity reference are the expanded entity, the children cannot be modified. |
To view reference information for Visual Basic, C/C++, or Script only, click the Language Filter button in the upper-left corner of the page.
Applies to: IXMLDOMAttribute | IXMLDOMCDATASection | IXMLDOMCharacterData | IXMLDOMComment | DOMDocument | IXMLDOMDocumentFragment | IXMLDOMDocumentType | IXMLDOMElement | IXMLDOMEntity | IXMLDOMEntityReference | IXMLDOMNode | IXMLDOMNotation | IXMLDOMProcessingInstruction | IXMLDOMText