XML DOM | insertBefore Method

XML DOM - insertBefore Method


Hello folks! welcome back to a new edition of our tutorial on XML DOM. In this tutorial, we are going to be studying about the XML DOM insertBefore Method.

The XML DOM insertBefore method inserts a new node before a specified child node of the current node.

Syntax

The following below is the syntax to use the insertBefore Method -

nodeObject.insertBefore(Node newChild, Node refChild)

Parameter Details

S.No.Parameter & Description
1

newChild

It is the new node to be added. It is of type Node.

2

refChild

It is used as a reference node before which a new node is added. It is of type Node.


Return Value

This method returns the inserted node.

Example

Following below are the node.xml contents -

<?xml version = "1.0"?>
<Company>
   <Employee category = "Technical">
      <FirstName>Kennedy</FirstName>
      <LastName>Nkpara</LastName>
      <ContactNo>1234567890</ContactNo>
      <Email>kennedynkpara@xyz.com</Email>
   </Employee>
   
   <Employee category = "Non-Technical">
      <FirstName>Stephanie</FirstName>
      <LastName>Francis</LastName>
      <ContactNo>1234667898</ContactNo>
      <Email>stephaniefrancis@xyz.com</Email>
   </Employee>
   
   <Employee category = "Management">
      <FirstName>Justice</FirstName>
      <LastName>Dauglas</LastName>
      <ContactNo>1234562350</ContactNo>
      <Email>justicedauglas@xyz.com</Email>
   </Employee>
</Company>


The following example illustrates the usage of the insertBefore method -

<!DOCTYPE html>
<html>
   <head>
      <script>
         function loadXMLDoc(filename) {
            if (window.XMLHttpRequest) {
               xhttp = new XMLHttpRequest();
            }
            else // code for IE5 and IE6 {
               xhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xhttp.open("GET",filename,false);
            xhttp.send();
            return xhttp.responseXML;
         }
      </script>
   </head>
   <body>
      <script>
         xmlDoc = loadXMLDoc("/dom/node.xml");

         create_e = xmlDoc.createElement("Email");

         f1 = xmlDoc.documentElement;
         f2 = xmlDoc.getElementsByTagName("Email");

         document.write("No of Email elements before insert operation: " + f2.length);
         document.write(" <br>");
         f1.insertBefore(create_e,f2[3]);

         f2 = xmlDoc.getElementsByTagName("Email");
         document.write("No of Email elements after insert operation: " + f2.length);
      </script>
   </body>
</html>

Output

Save file as nodemethod_insertbefore.html on the server's path (this file and node.xml should be on the same path in your server). This gives us the following output below -

No of Email elements before insert operation: 3
No of Email elements after insert operation: 4


Alright guys! This is where we are going to be rounding up for this tutorial post. In our next tutorial, we will be studying about XML DOM isDefaultNamespace Method.

Feel free to ask your questions where necessary and we will attend to them as soon as possible. If this tutorial was helpful to you, you can use the share button to share this tutorial.

Follow us on our various social media platforms to stay updated with our latest tutorials. You can also subscribe to our newsletter in order to get our tutorials delivered directly to your emails.

Thanks for reading and bye for now.