XML DOM | Element Object setAttributeNodeNS Method

XML DOM - Element Object setAttributeNodeNS Method


Hello folks! welcome back to a new edition of our tutorial on XML DOM. In this tutorial guide, we will be discussing about the XML DOM Element Object setAttributeNodeNS Method.

The setAttributeNodeNS method add a new attribute. If an attribute with the same local name and namespaceuri is already present in the element, then it's replaced by the new one.

Syntax

The following below is the syntax to use the Element Object setAttributeNodeNS method -

elementObj.setAttributeNodeNS(newAttr)

Parameter Details

S.No.Parameter & Description
1

newAttr

The Attr node to add to the attribute list.

Return Value

This XML DOM method returns a replaced Attr node.

Example

Following are the node_ns.xml contents -

<?xml version = "1.0"?>
<Company>
   <Employee xmlns:e = "http://www.webdesigntutorialz.com/technical/" category = "technical">
      <e:FirstName e:lang = "en">Kennedy</e:FirstName>
      <e:LastName>Nkpara</e:LastName>
      <e:ContactNo>1234567890</e:ContactNo>
      <e:Email>kennedynkpara@xyz.com</e:Email>
   </Employee>
   
   <Employee xmlns:n = "http://www.webdesigntutorialz.com/non-technical/" category = "non-technical">
      <n:FirstName n:lang = "en">Stephanie</n:FirstName>
      <n:LastName>Francis</n:LastName>
      <n:ContactNo>1234667898</n:ContactNo>
      <n:Email>stephaniefrancis@xyz.com</n:Email>
   </Employee>
</Company>


The following example illustrates the usage of the Element Object setAttributeNodeNS method -

<!DOCTYPE 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_ns.xml");
         x1 = xmlDoc.getElementsByTagName('FirstName')[0];
         x2 = xmlDoc.getElementsByTagName('FirstName')[1];
         ns="http://www.webdesigntutorialz.com/technical/";
         var nsattr = x1.getAttributeNodeNS(ns, "lang"); 
         x2.setAttributeNodeNS(nsattr.cloneNode(true));
         document.write(x2.attributes[1].value); // returns: 'en'
     </script>
   </body>
</html>

Output

Save this file as elementmethod_setattributenodens.html on the server's path (this file and node_ns.xml should be on the same path in your server). This is going to give us the following output below -

en


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 the XML DOM Attribute Object.

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.