XML DOM oprette knudepunkter

Opret en ny elementnode

createElement() Metoden opretter en ny elementnode:

Eksempel 1

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

Prøv det selv

Eksempel forklaring:

  1. Antag at books.xml allerede er indlæst i xmlDoc i
  2. Opret et nyt elementnode <edition>
  3. Tilføj denne elementnode til den første <book> element

Eksempel 2

Gennemløb og tilføj et element til alle <book> elementer:

for (i = 0; i < xLen; i++) { 
    newEle = xmlDoc.createElement("edition");
    newText = xmlDoc.createTextNode("第一版");
    newEle.appendChild(newText);
    x[i].appendChild(newEle);
}

Prøv det selv

Opret en ny egenskabsnode

createAttribute() Bruges til at oprette nye egenskabsnoder:

Eksempel 1

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

Prøv det selv

Eksempel forklaring:

  1. Antag at books.xml er blevet indlæst til xmlDoc i
  2. Opret en ny egenskabsnode "edition"
  3. Sæt værdien af denne egenskabsnodes "first"
  4. Tilføj denne nye egenskabsnode til den første <title> element

Eksempel 2

Gennemløb alle <title> elementer og tilføj ny egenskabsnode:

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

Prøv det selv

Er egenskaben allerede til stede, så erstattes den med den nye egenskab.

Brug af setAttribute() til at oprette egenskaber

Dette skyldes setAttribute() Metoden opretter en ny egenskab, hvis den ikke allerede eksisterer, så den kan også bruges til at oprette nye egenskaber.

Eksempel 1

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

Prøv det selv

Eksempel forklaring:

  1. Antag at books.xml allerede er indlæst i xmlDoc i
  2. Sæt værdien af den første <book> elementets "edition" Værdien af egenskaben sættes til "first"

Eksempel 2

Gennemløb alle <title> elementer og tilføj ny egenskab:

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

Prøv det selv

Opret tekstnode

createTextNode() Metoden opretter en ny tekstnode:

Eksempel 1

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

Prøv det selv

Eksempel forklaring:

  1. Antag at books.xml allerede er indlæst i xmlDoc i
  2. Opret en ny element node <edition>
  3. Opret en ny tekst node, der indeholder teksten "first"
  4. Tilføj denne nye tekst node til den nye element node
  5. Tilføj den nye element node til den første <book> element

Eksempel 2

Tilføj element node med tekst node til alle <book> elementer:

for (i = 0; i < xLen; i++) { 
    newEle = xmlDoc.createElement("edition");
    newText = xmlDoc.createTextNode("第一版");
    newEle.appendChild(newText);
    x[i].appendChild(newEle);
}

Prøv det selv

Opret CDATA Section node

createCDATASection() Metoden opretter en ny CDATA sektion node.

Eksempel 1

newCDATA = xmlDoc.createCDATASection("新年特惠 & 限时折扣");
xmlDoc.getElementsByTagName("book")[0].appendChild(newCDATA);

Prøv det selv

Eksempel forklaring:

  1. Antag at books.xml allerede er indlæst i xmlDoc i
  2. Opret en ny CDATA sektion node
  3. Tilføj denne nye CDATA node til den første <book> element

Eksempel 2

Gennemløb og tilføj CDATA sektion til alle <book> elementer:

x = xmlDoc.getElementsByTagName("book");
xLen = x.length;
newtext = "新年特惠 & 限时折扣";
for (i = 0; i < xLen; i++) { 
    newCDATA = xmlDoc.createCDATASection(newtext);
    x[i].appendChild(newCDATA);
}

Prøv det selv

Opret kommentar node

createComment() Metoden opretter en ny kommentar node.

Eksempel 1

newComment = xmlDoc.createComment("2024 February revision");
xmlDoc.getElementsByTagName("book")[0].appendChild(newComment);

Prøv det selv

Eksempel forklaring:

  1. Antag at books.xml allerede er indlæst i xmlDoc i
  2. Opret en ny kommentar node
  3. Tilføj denne nye kommentar node til den første <book> element

Eksempel 2

Gennemløb og tilføj kommentar noden til alle <book> elementer:

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

Prøv det selv