Méthode getElementsByTagNameNS() de XML DOM

Définition et utilisation

getElementsByTagNameNS() La méthode retourne une NodeList de tous les éléments ayant le nom et l'espace de nom spécifiés.

Syntaxe

getElementsByTagNameNS(ns,name)
Paramètres Description
ns Chaîne, spécifiant le nom de l'espace de nom à rechercher. La valeur "*" correspond à toutes les balises.
name Chaîne, spécifiant le nom de balise à rechercher. La valeur "*" correspond à toutes les balises.

Exemple

Le code suivant charge "books.xml" dans xmlDoc et ajoute un élément de node avec espace de nom à chaque élément <book> :

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
   if (this.readyState == 4 && this.status == 200) {
       myFunction(this);
   }
};
xhttp.open("GET", "books.xml", true);
xhttp.send();
function myFunction(xml) {
    var x, y, z, i, newel, newtext, xmlDoc, txt;
    xmlDoc = xml.responseXML;
    txt = "";
    x = xmlDoc.getElementsByTagName("book");
    for (i = 0; i < x.length; i++) {
        newel = xmlDoc.createElementNS("p", "edition");
        newtext = xmlDoc.createTextNode("First");
        newel.appendChild(newtext);
       x[i].appendChild(newel);
    }
    // Affiche tous les title et edition
    y = xmlDoc.getElementsByTagName("title");
    z = xmlDoc.getElementsByTagNameNS("p","edition");
    for (i = 0; i < y.length; i++) {
        txt += y[i].childNodes[0].nodeValue +
        " - " +
        z[i].childNodes[0].nodeValue +
        " édition." +
        "Namespace: " +
        z[i].namespaceURI + "<br>";
    }
    document.getElementById("demo").innerHTML = txt;
}

Essayez-le vous-même