Substituição do Nó do DOM do XML

replaceChild() O método substitui o nó especificado.

nodeValue A propriedade substitui o texto do nó de texto.

Substitui nó de elemento

replaceChild() O método é usado para substituir nós.

O seguinte trecho de código substitui o primeiro elemento <book>:

Exemplo

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.documentElement;
// Cria um elemento book, um elemento title e um nó de texto
newNode=xmlDoc.createElement("book");
newTitle=xmlDoc.createElement("title");
newText=xmlDoc.createTextNode("Um novo livro");
// Adiciona o nó de texto ao nó title
newTitle.appendChild(newText);
// Adiciona este nó title ao nó book
newNode.appendChild(newTitle);
y=xmlDoc.getElementsByTagName("book")[0];
// Substitui o primeiro nó book por um novo nó
x.replaceChild(newNode,y);

x.nodeValue="Um novo livro";

Experimente você mesmo

  1. Exemplo: books.xml Carregar para xmlDoc Em
  2. Cria um novo nó de elemento <book>
  3. Cria um novo nó de elemento <title>
  4. Cria um novo nó de texto contendo o texto "Um novo livro"
  5. Adiciona este novo nó de texto ao novo nó de elemento <title>
  6. Adiciona este novo nó de elemento <title> ao novo nó de elemento <book>
  7. Substitui o primeiro nó de elemento <book> por um novo nó de elemento <book>

Substituir os dados do nó de texto

replaceData() O método é usado para substituir os dados do nó de texto.

replaceData() O método tem três parâmetros:

  • offset - De onde começar a substituição de caracteres. O valor de offset começa em zero
  • length - O número de caracteres a serem substituídos
  • string - A string a ser inserida

Exemplo

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.replaceData(0,4,"Um novo livro");

x.nodeValue="Um novo livro";

Experimente você mesmo

  1. Exemplo: books.xml Carregar para xmlDoc Em
  2. Obter o nó de texto do primeiro elemento <title>
  3. Uso replaceData() O método substitui os primeiros oito caracteres do nó de texto por "Um novo livro"

Use a propriedade nodeValue em vez de

Uso nodeValue O atributo substitui mais facilmente os dados do nó de texto.

O seguinte trecho de código substitui o valor do nó de texto do primeiro elemento <title> com "Um novo livro":

Exemplo

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="一本新书";

x.nodeValue="Um novo livro";

Experimente você mesmo

  1. Exemplo: books.xml Carregar para xmlDoc Em
  2. Obter o nó de texto do primeiro elemento <title>
  3. Uso nodeValue Atributo para alterar o texto do nó de texto

Você pode ler mais sobre alterar valores de nó no capítulo Mudar nó.