Create Nodes in XML DOM

Maak een nieuwe elementknipoog

createElement() Methode om een nieuwe elementknipoog aan te maken:

Voorbeeld 1

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

Probeer het zelf

Voorbeeld uitleg:

  1. Aannemen dat books.xml is geladen in xmlDoc in
  2. Maak een nieuwe elementknipoog <edition>
  3. Voeg deze elementknipoog toe aan het eerste <book> element

Voorbeeld 2

Bespreek en voeg een element toe aan alle <book> elementen:

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

Probeer het zelf

Maak een nieuwe eigenschapsknipoog

createAttribute() Gebruikt om nieuwe eigenschapsknipoog aan te maken:

Voorbeeld 1

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

Probeer het zelf

Voorbeeld uitleg:

  1. Stel dat books.xml is geladen in xmlDoc in
  2. Maak een nieuwe eigenschapsknipoog "edition"
  3. Stel de waarde van deze eigenschapsknipoog in op "first"
  4. Voeg deze nieuwe eigenschapsknipoog toe aan het eerste <title> element

Voorbeeld 2

Bespreek alle <title> elementen en voeg een nieuwe eigenschapsknipoog toe:

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

Probeer het zelf

Vervang de bestaande eigenschap door de nieuwe eigenschap als deze al bestaat.

Eigenschappen maken met setAttribute()

Omdat setAttribute() De methode maakt een nieuwe eigenschap aan als deze niet bestaat, dus het kan ook gebruikt worden om nieuwe eigenschappen aan te maken.

Voorbeeld 1

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

Probeer het zelf

Voorbeeld uitleg:

  1. Aannemen dat books.xml is geladen in xmlDoc in
  2. Stel de eigenschap van het eerste <book> element in "edition" De waarde van de eigenschap instellen op "first"

Voorbeeld 2

Bespreek alle <title> elementen en voeg een nieuwe eigenschap toe:

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

Probeer het zelf

Maak een tekstknipoog

createTextNode() Methode om een nieuwe tekstknipoog te maken:

Voorbeeld 1

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

Probeer het zelf

Voorbeeld uitleg:

  1. Aannemen dat books.xml is geladen in xmlDoc in
  2. Maak een nieuwe element knopen <edition> aan
  3. Maak een nieuwe tekstknopen aan, die de tekst bevat "first"
  4. Voeg deze nieuwe tekstknopen toe aan het nieuwe element knopen
  5. Voeg het nieuwe element knopen toe aan het eerste <book> element

Voorbeeld 2

Voeg een element knopen met een tekstknopen toe aan alle <book> elementen:

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

Probeer het zelf

Maak een CDATA Section knopen aan

createCDATASection() De methode maakt een nieuwe CDATA section knopen aan.

Voorbeeld 1

newCDATA = xmlDoc.createCDATASection("Nieuwjaarskorting & Beperkte Korting");
xmlDoc.getElementsByTagName("book")[0].appendChild(newCDATA);

Probeer het zelf

Voorbeeld uitleg:

  1. Aannemen dat books.xml is geladen in xmlDoc in
  2. Maak een nieuwe CDATA section knopen aan
  3. Voeg deze nieuwe CDATA knopen toe aan het eerste <book> element

Voorbeeld 2

Herhalen door alle <book> elementen en voeg een CDATA gedeelte toe:

x = xmlDoc.getElementsByTagName("book");
xLen = x.length;
newtext = "Nieuwjaarskorting & Beperkte Korting";
for (i = 0; i < xLen; i++) { 
    newCDATA = xmlDoc.createCDATASection(newtext);
    x[i].appendChild(newCDATA);
}

Probeer het zelf

Maak een annotatieknopen aan

createComment() De methode maakt een nieuwe annotatieknopen aan.

Voorbeeld 1

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

Probeer het zelf

Voorbeeld uitleg:

  1. Aannemen dat books.xml is geladen in xmlDoc in
  2. Maak een nieuwe annotatieknopen aan
  3. Voeg deze nieuwe annotatieknopen toe aan het eerste <book> element

Voorbeeld 2

Herhalen door alle <book> elementen en voeg een annotatieknopen toe:

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

Probeer het zelf