XML DOM skapande av noder

Skapa en ny elementnod

createElement() Metoden skapar en ny elementnod:

Exempel 1

newElement = xmlDoc.createElement("edition");
xmlDoc.getElementsByTagName("book")[0].appendChild(newElement);

Prova själv

Exempel förklaring:

  1. Anta att books.xml redan har laddats in i xmlDoc i
  2. Skapa en ny elementnod <edition>
  3. Lägg till denna elementnod till den första <book>-elementet

Exempel 2

Genomgå och lägg till ett element till alla <book>-element:

for (i = 0; i < xLen; i++) { 
    newEle = xmlDoc.createElement("edition");
    newText = xmlDoc.createTextNode("Första upplagan");
    newEle.appendChild(newText);
    x[i].appendChild(newEle);
{}

Prova själv

Skapa en ny egenskapsnod

createAttribute() Används för att skapa nya egenskapsnoder:

Exempel 1

newAtt = xmlDoc.createAttribute("edition");
newAtt.nodeValue = "第一版";
xmlDoc.getElementsByTagName("title")[0].setAttributeNode(newAtt);

Prova själv

Exempel förklaring:

  1. Anta att books.xml har laddats in i xmlDoc i
  2. Skapa en ny egenskapsnod "edition"
  3. Sätt värde på denna egenskapsnod till "first"
  4. Lägg till denna nya egenskapsnod till den första <title>-elementet

Exempel 2

Genomgå alla <title>-element och lägg till ny egenskapsnod:

for (i = 0; i < xLen; i++) { 
    newAtt = xmlDoc.createAttribute("edition");
    newAtt.value = "第一版";
    x[i].setAttributeNode(newAtt);
{}

Prova själv

Om egenskapen redan finns, ersätt den med den nya egenskapen.

skapa egenskaper med setAttribute()

Eftersom setAttribute() Metoden skapar en ny egenskap om den inte finns, så den kan också användas för att skapa nya egenskaper.

Exempel 1

xmlDoc.getElementsByTagName('book')[0].setAttribute("edition","first");

Prova själv

Exempel förklaring:

  1. Anta att books.xml redan har laddats in i xmlDoc i
  2. Sätt värde på den första <book>-elementets "edition" Värdet för egenskapen sätts till "first"

Exempel 2

Genomgå alla <title>-element och lägg till ny egenskap:

for(i = 0; i < x.length; i++) {
    x[i].setAttribute("edition", "第一版");
{}

Prova själv

Skapa textnod

createTextNode() Metoden skapar en ny textnod:

Exempel 1

newEle = xmlDoc.createElement("edition");
newText = xmlDoc.createTextNode("first");
newEle.appendChild(newText);
xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);

Prova själv

Exempel förklaring:

  1. Anta att books.xml redan har laddats in i xmlDoc i
  2. Skapa ett nytt elementnod <edition>
  3. Skapa en ny textnod som innehåller text "first"
  4. Lägg till den nya textnoden till den nya elementnoden
  5. Lägg till det nya elementnoden till det första <book>-elementet

Exempel 2

Lägg till elementnod med textnod till alla <book>-element:

for (i = 0; i < xLen; i++) { 
    newEle = xmlDoc.createElement("edition");
    newText = xmlDoc.createTextNode("Första upplagan");
    newEle.appendChild(newText);
    x[i].appendChild(newEle);
{}

Prova själv

Skapa CDATA Section nod

createCDATASection() Metoden skapar en ny CDATA-section nod.

Exempel 1

newCDATA = xmlDoc.createCDATASection("Nyttårserbjudande & Begränsad Rabatt");
xmlDoc.getElementsByTagName("book")[0].appendChild(newCDATA);

Prova själv

Exempel förklaring:

  1. Anta att books.xml redan har laddats in i xmlDoc i
  2. Skapa en ny CDATA-section nod
  3. Lägg till den nya CDATA- noden till det första <book>-elementet

Exempel 2

Genomloppar och lägger till CDATA-del till alla <book>-element:

x = xmlDoc.getElementsByTagName("book");
xLen = x.length;
newtext = "Nyttårserbjudande & Begränsad Rabatt";
for (i = 0; i < xLen; i++) { 
    newCDATA = xmlDoc.createCDATASection(newtext);
    x[i].appendChild(newCDATA);
{}

Prova själv

Skapa kommentarstagg

createComment() Metoden skapar en ny kommentarstagg.

Exempel 1

newComment = xmlDoc.createComment("Reviderad i februari 2024");
xmlDoc.getElementsByTagName("book")[0].appendChild(newComment);

Prova själv

Exempel förklaring:

  1. Anta att books.xml redan har laddats in i xmlDoc i
  2. Skapa en ny kommentarstagg
  3. Lägg till den nya kommentarstagan till det första <book>-elementet

Exempel 2

Genomloppar och lägger till kommentarstagg till alla <book>-element:

x = xmlDoc.getElementsByTagName("book");
xLen = x.length
for (i = 0; i < xLen; i++) { 
    newComment = xmlDoc.createComment("Reviderad i februari 2024");
    x[i].appendChild(newComment);
{}

Prova själv