Méthode replaceChild() de XML DOM
Définition et utilisation
La méthode replaceChild() peut remplacer un nœud enfant par un autre.
Si le remplacement est réussi, cette méthode peut retourner le nœud remplacé, sinon elle retourne NULL.
Syntaxe :
nodeObject.replaceChild(new_node,old_node)
Paramètres | Description |
---|---|
new_node | Obligatoire. Spécifiez le nouveau nœud. |
old_node | Obligatoire. Spécifiez le nœud à remplacer. |
Astuces et commentaires
Remarque :Internet Explorer ignore les nœuds de texte blanc générés entre les nœuds (par exemple, les symboles d'retorno), tandis que Mozilla ne le fait pas. Par conséquent, dans les exemples suivants, nous utiliserons une fonction pour vérifier le type de nœud du premier nœud enfant.
Le type de nœud de l'élément est 1, donc si le premier nœud enfant n'est pas un nœud élément, il passera au prochain nœud et continuera à vérifier si ce nœud est un nœud élément. Ce processus continuera jusqu'à ce que le premier nœud enfant élément soit trouvé. Grâce à cette méthode, nous pouvons obtenir la méthode correcte dans Internet Explorer et Mozilla.
Astuce :Pour plus d'informations sur les différences entre XML DOM entre Internet Explorer et Mozilla, veuillez visiter notre Navigateur DOM Chapitre.
Exemple
Dans tous les exemples, nous utiliserons le fichier XML books.xmlet les fonctions JavaScript loadXMLDoc()。
Le code suivant peut remplacer l'élément <title> du premier élément <book< :
//vérifier si le premier nœud enfant est un nœud élément
function get_firstchild(n)
{
var x=n.firstChild;
while (x.nodeType!=1)
{
x=x.nextSibling;
}
return x;
}
xmlDoc=loadXMLDoc("books.xml");
//créer un élément de titre et un nœud de texte
var newNode=xmlDoc.createElement("title");
var newText=xmlDoc.createTextNode("Couchers de famille de Giada");
//Ajouter le nœud texte au nœud titre,
newNode.appendChild(newText);
//Remplacer le premier nœud enfant par le nouveau nœud
var x=xmlDoc.getElementsByTagName("book")[0];
x.replaceChild(newNode,get_firstchild(x));
//Afficher tous les titres
var y=xmlDoc.getElementsByTagName("title");
for (i=0;i<y.length;i++)
{
document.write(y[i].childNodes[0].nodeValue);
document.write("<br />");
}
Sortie :
Couchers de famille de Giada Harry Potter XQuery Kick Start Apprendre XML