XML DOM replaceChild()-metodi

Määritelmä ja käyttö

replaceChild()-metodi korvaa yhden lapsisolmun toisella.

Onnistuessaan, tämä metodi palauttaa korvattavan solmun, epäonnistuessaan null.

syntaksi:

elementNode.replaceChild(new_node,old_node)
parametrit kuvaus
new_node Välttämätön. Määritä uusi solmu.
old_node Välttämätön. Määritä korvattava alinode.

Esimerkki

Kaikissa esimerkeissä käytämme XML-tiedostoa books.xmlja JavaScript-funktio loadXMLDoc()

Seuraava koodinpätkä korvaa "books.xml" -tiedoston ensimmäisen <book>-elementin ensimmäisen <title>-elementin:

//tarkista, onko ensimmäinen lapsinodee elementinode
function get_firstchild(n)
{
x=n.firstChild;
while (x.nodeType!=1)
  {
  x=x.nextSibling;
  }
palauta x;
}
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("book")[0];
//luo otsikelementti ja tekstinodee
newNode=xmlDoc.createElement("title");
newText=xmlDoc.createTextNode("Giada's Family Dinners");
//lisää tekstinodee tittelinodee
newNode.appendChild(newText);
//korvaa viimeinen solmu uudella solmulle
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 />");
}

Tulostus:

Giada's Family Dinners
Harry Potter
XQuery Kick Start
Learning XML

Huomautus:Internet Explorer huomioi välit välillä olevat tyhjät tekstit (esim. rivinvaihtomerkit), mutta Mozilla ei tee niin. Siksi olemme luoneet funktion, joka luo oikeat lapsinodet.

Vinkki:Lisätietoja Internet Explorerin ja Mozillan selaimen välisistä eroista löydät CodeW3C.comin XML DOM-opasta DOM-selain Tämä luku.