XML DOM Voeg nodes by
Probeer dit self - voorbeelde
Die voorbeelde hieronder gebruik die XML-lêer books.xml .
kindernodus Hierdie voorbeeld gebruik appendChild() om 'n kindernodus by 'n bestaande nodus te voeg.
kindernodus Hierdie voorbeeld gebruik insertBefore() om 'n nodus voor 'n gespesifiseerde kindernodus in te voeg.
Hierdie voorbeeld gebruik die setAttribute() metode om 'n nuwe kenmerk by te voeg.
teksnodus Hierdie voorbeeld gebruik insertData() om data in 'n bestaande teksnodus in te voeg.
Voeg 'n Node by - appendChild()
Die appendChild() -metode voeg 'n kindernodus by 'n bestaande nodus.
Die nuwe nodus word bygevoeg (aangeheg) na enige bestaande kind nodusse.
Let wel: Gebruik insertBefore() as die posisie van die nodus belangrik is.
Hierdie kodefragment skep 'n element (<uitgawe>), en voeg dit by na die laaste kind van die eerste <boek>-element:
Voorbeeld
newEle = xmlDoc.createElement("edition");
xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
Voorbeeld verduidelik:
- Gestel " books.xml " is in xmlDoc gelaai
- Skep 'n nuwe node <uitgawe>
- Voeg die nodus by die eerste <boek>-element
Hierdie kodefragment doen dieselfde as hierbo, maar die nuwe element word bygevoeg met 'n waarde:
Voorbeeld
newEle = xmlDoc.createElement("edition");
newText=xmlDoc.createTextNode("first");
newEle.appendChild(newText);
xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
Voorbeeld verduidelik:
- Gestel " books.xml " is in xmlDoc gelaai
- Skep 'n nuwe node <uitgawe>
- Skep 'n nuwe teksnodus "eerste"
- Voeg die teksnodus by die <edition> node
- Voeg die <toevoeging>-nodus by die <boek>-element
Voeg 'n Node in - insertBefore()
Die insertBefore() -metode voeg 'n nodus voor 'n gespesifiseerde kindernodus in.
Hierdie metode is nuttig wanneer die posisie van die bygevoegde nodus belangrik is:
Voorbeeld
newNode = xmlDoc.createElement("book");
x = xmlDoc.documentElement;
y = xmlDoc.getElementsByTagName("book")[3];
x.insertBefore(newNode,y);
Voorbeeld verduidelik:
- Gestel " books.xml " is in xmlDoc gelaai
- Skep 'n nuwe element node <boek>
- Voeg die nuwe nodus voor die laaste <book> element node in
As die tweede parameter van insertBefore() nul is, sal die nuwe nodus bygevoeg word na die laaste bestaande kindernodus.
x.insertBefore(newNode,null) en x.appendChild(newNode) sal albei 'n nuwe kindernode by x voeg.
Voeg 'n nuwe kenmerk by
Die setAttribute() metode stel die waarde van 'n kenmerk.
Voorbeeld
xmlDoc.getElementsByTagName('book')[0].setAttribute("edition","first");
Voorbeeld verduidelik:
- Gestel " books.xml " is in xmlDoc gelaai
- Stel die waarde van die kenmerk "edition" na "eerste" vir die eerste <boek>-element
Daar is geen metode genaamd add Attribute()
Die setAttribute() sal 'n nuwe kenmerk skep as die kenmerk nie bestaan nie.
Let wel: As die kenmerk reeds bestaan, sal die setAttribute() metode die bestaande waarde oorskryf.
Voeg teks by 'n teksnode - insertData()
Die insertData() -metode voeg data in 'n bestaande teksnodus in.
Die insertData() metode het twee parameters:
- offset - Waar om te begin om karakters in te voeg (begin by nul)
- string - Die string om in te voeg
Die volgende kodefragment sal "Easy" by die teksnodus van die eerste <title>-element van die gelaaide XML voeg:
Voorbeeld
xmlDoc.getElementsByTagName("title")[0].childNodes[0].insertData(0,"Easy ");