Méthode replaceChild() XML DOM
Définition et utilisation
La méthode replaceChild() remplace un sous-nœud par un autre nœud.
Si le succès, cette méthode retourne le nœud remplacé, sinon retourne null.
Syntaxe :
elementNode.replaceChild(new_node,old_node)
Paramètres | Description |
---|---|
new_node | Obligatoire. Définir le nouveau nœud. |
old_node | Obligatoire. Définir le sous-nœud à remplacer. |
Exemple
Dans tous les exemples, nous utiliserons le fichier XML books.xmlet la fonction JavaScript loadXMLDoc()。
Le fragment de code suivant remplace le premier élément <title> de l'élément <book> du fichier "books.xml":
//vérifier si le premier nœud enfant est un nœud élément
function get_firstchild(n)
{
x=n.firstChild;
while (x.nodeType!=1)
{
x=x.nextSibling;
}
return x;
}
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("book")[0];
//créer un élément de titre et un nœud de texte
newNode=xmlDoc.createElement("title");
newText=xmlDoc.createTextNode("Repas de famille de Giada");
//ajouter le nœud de texte au nœud de titre,
newNode.appendChild(newText);
//Remplacer le dernier nœud par le nouveau nœud
x.replaceChild(newNode,get_firstchild(x));
y=xmlDoc.getElementsByTagName("title");
for (i=0;i<y.length;i++)
{
document.write(y[i].childNodes[0].nodeValue);
document.write("<br />");
}
Sortie :
Cinées familiales de Giada Harry Potter XQuery Kick Start Learning XML
Remarque :Internet Explorer ignore les nœuds de texte blanc générés entre les nœuds (par exemple, les signes de retour à la ligne), tandis que Mozilla ne le fait pas. Par conséquent, dans l'exemple ci-dessus, nous avons créé une fonction pour créer des sous-éléments corrects.
Astuce :Pour plus d'informations sur les différences entre Internet Explorer et Mozilla, veuillez consulter le tutoriel XML DOM sur CodeW3C.com Navigateur DOM Cette section.