DOM - Méthode d'objet d'élément - setAttributeNodeNS

La méthode setAttributeNodeNS ajoute un nouvel attribut. Si un attribut avec ce nom local et cet URI d'espace de noms est déjà présent dans l'élément, il est remplacé par le nouveau.

Syntaxe

Voici la syntaxe pour l'utilisation de la méthode setAttributeNodeNS .

elementObj.setAttributeNodeNS(newAttr)

S.No. Paramètre et description
1

newAttr

Le nœud Attr à ajouter à la liste d'attributs.

Il renvoie un nœud Attr remplacé.

Exemple

Le contenu de node_ns.xml est comme ci-dessous -

<?xml version = "1.0"?>
<Company>
   <Employee xmlns:e = "http://www.tutorials.com/technical/" category = "technical">
      <e:FirstName e:lang = "en">Tanmay</e:FirstName>
      <e:LastName>Patil</e:LastName>
      <e:ContactNo>1234567890</e:ContactNo>
      <e:Email>[email protected]</e:Email>
   </Employee>
   
   <Employee xmlns:n = "http://www.tutorials.com/non-technical/" category = "non-technical">
      <n:FirstName n:lang = "en">Taniya</n:FirstName>
      <n:LastName>Mishra</n:LastName>
      <n:ContactNo>1234667898</n:ContactNo>
      <n:Email>[email protected]</n:Email>
   </Employee>
</Company>

L'exemple suivant montre l'utilisation de la méthode setAttributeNodeNS -

<!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.tutorials.com/technical/";
         var nsattr = x1.getAttributeNodeNS(ns, "lang"); 
         x2.setAttributeNodeNS(nsattr.cloneNode(true));
         document.write(x2.attributes[1].value); // returns: 'en'
     </script>
   </body>
</html>

Exécution

Enregistrez ce fichier sous le nom elementattribute_setAttributeNodeNS.htm sur le chemin du serveur (ce fichier et node_ns.xml doivent être sur le même chemin sur votre serveur). Nous obtiendrons la sortie comme indiqué ci-dessous -

en