Zastępowanie węzłów DOM XML

replaceChild() Metoda zastępuje wskazany węzeł.

nodeValue Atrybut zastępuje tekst w węźle tekstowym.

Zastąp węzeł elementowy

replaceChild() Metoda służy do zastępowania węzłów.

Poniższy fragment kodu zastępuje pierwszy element <book>:

Przykład

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.documentElement;
// Utwórz element book, element title i węzeł tekstowy
newNode=xmlDoc.createElement("book");
newTitle=xmlDoc.createElement("title");
newText=xmlDoc.createTextNode("Nowa książka");
// Dodaj węzeł tekstowy do węzła title
newTitle.appendChild(newText);
// Dodaj ten węzeł title do węzła book
newNode.appendChild(newTitle);
y=xmlDoc.getElementsByTagName("book")[0];
// Zastąp pierwszy element book nowym węzłem
x.replaceChild(newNode,y);

Spróbuj sam

Przykład wyjaśniający:

  1. Przykład: books.xml załadowany do xmlDoc w
  2. Utwórz nowy element <book>
  3. Utwórz nowy element <title>
  4. Utwórz nowy węzeł tekstowy zawierający tekst "Nowa książka"
  5. Dodaj ten nowy węzeł tekstowy do nowego elementu <title>
  6. Dodaj ten nowy element <title> do nowego elementu <book>
  7. Zastąp pierwszy element <book> nowym elementem <book>

Zastąp dane w węźle tekstowym

replaceData() Metoda służy do zastępowania danych w węźle tekstowym.

replaceData() Metoda ma trzy parametry:

  • offset - od której pozycji zacząć zastępowanie znaków. Wartość offsetu zaczyna się od zera
  • length - liczba znaków do zastąpienia
  • string - ciąg znaków do wstawienia

Przykład

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.replaceData(0,4,"Nowa książka");

Spróbuj sam

Przykład wyjaśniający:

  1. Przykład: books.xml załadowany do xmlDoc w
  2. Pobierz tekst węzła pierwszego elementu <title>
  3. Użycie replaceData() Metoda zastępuje pierwsze osiem znaków w węźle tekstowym na "Nowa książka"

Użyj atrybutu nodeValue zamiast

Użycie nodeValue Atrybuty są łatwiejsze do zastąpienia danych w węzle tekstowym.

Poniższy fragment kodu zastąpi tekst w pierwszym elemencie <title> na "Nowa książka":

Przykład

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Nowa książka";

Spróbuj sam

Przykład wyjaśniający:

  1. Przykład: books.xml załadowany do xmlDoc w
  2. Pobierz tekst węzła pierwszego elementu <title>
  3. Użycie nodeValue Atrybuty do zmiany tekstu węzła

Możesz przeczytać więcej o zmianie wartości węzłów w rozdziale Zmiana węzłów.