Tworzenie węzłów DOM XML

Tworzenie nowego węzła elementu

createElement() Metoda tworzy nowy węzeł elementu:

Przykład 1

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

Spróbuj sam

Wyjaśnienie przykładu:

  1. Załóżmy, że plik books.xml został załadowany do xmlDoc w
  2. Utwórz nowy węzeł elementu <edition>
  3. Dodaj ten węzeł elementu do pierwszego elementu <book>

Przykład 2

Przejdź przez wszystkie i dodaj element do wszystkich elementów <book>:

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

Spróbuj sam

Tworzenie nowego węzła właściwości

createAttribute() Używane do tworzenia nowych węzłów właściwości:

Przykład 1

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

Spróbuj sam

Wyjaśnienie przykładu:

  1. Załóżmy, że plik books.xml został załadowany do xmlDoc w
  2. Tworzenie nowego węzła właściwości "edition"
  3. Ustaw wartość tego węzła właściwości na "first"
  4. Dodaj ten nowy węzeł właściwości do pierwszego elementu <title>

Przykład 2

Przejdź przez wszystkie elementy <title> i dodaj nowy węzeł właściwości:

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

Spróbuj sam

Jeśli właściwość już istnieje, zastąpi ją nową właściwością.

Użycie setAttribute() do tworzenia właściwości

Ponieważ setAttribute() Metoda tworzy nową właściwość, jeśli ona nie istnieje, więc można ją również używać do tworzenia nowych właściwości.

Przykład 1

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

Spróbuj sam

Wyjaśnienie przykładu:

  1. Załóżmy, że plik books.xml został załadowany do xmlDoc w
  2. Ustaw właściwość pierwszego elementu <book> na "edition" Wartość właściwości ustawiona na "first"

Przykład 2

Przejdź przez wszystkie elementy <title> i dodaj nową właściwość:

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

Spróbuj sam

Tworzenie węzła tekstowego

createTextNode() Metoda tworzy nowy węzeł tekstowy:

Przykład 1

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

Spróbuj sam

Wyjaśnienie przykładu:

  1. Załóżmy, że plik books.xml został załadowany do xmlDoc w
  2. Utwórz nowy węzeł elementu <edition>
  3. Utwórz nowy węzeł tekstowy, który zawiera tekst "first"
  4. Dodaj ten nowy węzeł tekstowy do nowego węzła elementu
  5. Dodaj nowy węzeł elementu do pierwszego elementu <book>:

Przykład 2

Dodaj element węzła z węzłem tekstowym do wszystkich elementów <book>:

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

Spróbuj sam

Utwórz węzeł CDATA Section

createCDATASection() Metoda tworzy nową sekcję CDATA.

Przykład 1

newCDATA = xmlDoc.createCDATASection("Nowa Roczna Promocja & Ograniczona Oferta");
xmlDoc.getElementsByTagName("book")[0].appendChild(newCDATA);

Spróbuj sam

Wyjaśnienie przykładu:

  1. Załóżmy, że plik books.xml został załadowany do xmlDoc w
  2. Utwórz nową sekcję CDATA
  3. Dodaj ten nowy węzeł CDATA do pierwszego elementu <book>:

Przykład 2

Przechodzenie przez pętlę i dodawanie sekcji CDATA do wszystkich elementów <book>:

x = xmlDoc.getElementsByTagName("book");
xLen = x.length;
newtext = "Nowa Roczna Promocja & Ograniczona Oferta";
for (i = 0; i < xLen; i++) { 
    newCDATA = xmlDoc.createCDATASection(newtext);
    x[i].appendChild(newCDATA);
}

Spróbuj sam

Utwórz węzeł komentarza

createComment() Metoda tworzy nowy węzeł komentarza.

Przykład 1

newComment = xmlDoc.createComment("Zmodyfikowano w lutym 2024 roku");
xmlDoc.getElementsByTagName("book")[0].appendChild(newComment);

Spróbuj sam

Wyjaśnienie przykładu:

  1. Załóżmy, że plik books.xml został załadowany do xmlDoc w
  2. Utwórz nowy węzeł komentarza
  3. Dodaj ten nowy węzeł komentarza do pierwszego elementu <book>:

Przykład 2

Przechodzenie przez pętlę i dodawanie węzłów komentarzy do wszystkich elementów <book>:

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

Spróbuj sam