Substituição de Nós XML DOM

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

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

Exemplo

O seguinte exemplo usa o arquivo XML books.xml.

Função loadXMLDoc(),localizado no JavaScript externo, usado para carregar o arquivo XML.

Substituir nó de elemento
Neste exemplo, replaceChild() é usado para substituir o primeiro nó <book>.
Substituir os dados do nó de texto
Neste exemplo, a propriedade nodeValue é usada para substituir os dados do nó de texto.

Substituir nó de elemento

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

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

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.documentElement;
//Criar um elemento book, um elemento title e um nó de texto.
newNode=xmlDoc.createElement("book");
newTitle=xmlDoc.createElement("title");
newText=xmlDoc.createTextNode("Hello World");
//Adicionar o nó de texto ao nó title.
newTitle.appendChild(newText);
//Adicionar o nó title ao nó book.
newNode.appendChild(newTitle);
y=xmlDoc.getElementsByTagName("book")[0];
//Usar este novo nó para substituir o primeiro nó book.
x.replaceChild(newNode, y);

Exemplo de explicação:

  • Usando loadXMLDoc() Coloque "books.xml" Carregar xmlDoc"
  • Criar um novo nó de elemento <book>.
  • Criar um novo nó de elemento <title>.
  • Criar um novo nó de texto com o texto "Hello World".
  • Adicionar este novo nó de texto ao nó de elemento <title>.
  • Adicionar este novo nó de elemento <title> ao nó de elemento <book> novo.
  • Substituir o primeiro nó de elemento <book> pelo novo nó de elemento <book>.

TIY

Substituir os dados do nó de texto

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

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

  • offset - Onde começar a substituir os caracteres. O valor de offset começa com 0.
  • length - O número de caracteres a serem substituídos
  • string - A string a ser inserida
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.replaceData(0,8,"hello");

Exemplo de explicação:

  • Usando loadXMLDoc() Coloque "books.xml" Carregar xmlDoc"
  • Obter o nó de texto do primeiro elemento <title>
  • Use o método replaceData para substituir os primeiros 8 caracteres do nó de texto com "hello"

TIY

Use a propriedade nodeValue

É mais fácil substituir o nó de texto usando a propriedade nodeValue.

O trecho de código abaixo substituirá o valor do nó de texto do primeiro elemento <title> com "Easy Italian":

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Hello World";

Exemplo de explicação:

  • Usando loadXMLDoc() Coloque "books.xml" Carregar xmlDoc"
  • Obter o nó de texto do primeiro elemento <title>
  • Use a propriedade nodeValue para alterar o texto deste nó de texto

TIY

Você pode em Mudar nó Nesta seção, leia mais sobre como alterar o valor do nó.