Skip to main content
XmlDocument.InsertBefore | insertBefore method

Inserts a child node to the left of the specified node, or at the end of the child node list.


var iXmlNode = xmlDocument.insertBefore(newChild, referenceChild);

public IXmlNode InsertBefore(
  IXmlNode newChild, 
  IXmlNode referenceChild

Public Function InsertBefore(
  newChild As IXmlNode,  
  referenceChild As IXmlNode 
) As IXmlNode

IXmlNode^ InsertBefore(
  IXmlNode^ newChild, 
  IXmlNode^ referenceChild



Type: IXmlNode

The address of the new node to be inserted. The node passed here must be a valid child of the current XML DOM document node. For example, if the current node is an attribute, you cannot pass another attribute in the newChild parameter, because an attribute cannot have an attribute as a child. If newChild is a DOCUMENT_FRAGMENT node type, all its children are inserted in order before referenceChild.

If newChild is already in the tree, it is first removed before it is reinserted before the referenceChild node. Read-only nodes, such as NODE_DOCUMENT_TYPE and NODE_ENTITY nodes, cannot be passed in the newChild parameter.


Type: IXmlNode

The reference node. The node specified is where the newChild node is to be inserted to the left as the preceding sibling in the child list. The node passed here must be a either a child node of the current node or null. If the value is null, the newChild node is inserted at the end of the child list. If the referenceChild node is not a child of the current node, an error is returned.

Return value

Type: IXmlNode

On success, the child node that was inserted. If null, no object is created.

Requirements (Windows 10 device family)

Device family

Universal, introduced version 10.0.10240.0

API contract

Windows.Foundation.UniversalApiContract, introduced version 1.0


Windows::Data::Xml::Dom [C++]



Requirements (Windows 8.x and Windows Phone 8.x)

Minimum supported client

Windows 8

Minimum supported server

Windows Server 2012

Minimum supported phone

Windows Phone 8.1 [Windows Phone Silverlight 8.1 and Windows Runtime apps]


Windows::Data::Xml::Dom [C++]



See also